Bade
Bade

Reputation: 747

Cannot import Tensorflow on Jupyter notebook

I am having issues importing Tensorflow in JupyterLab. It gives an error:

ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

But if I try from the terminal then it loads fine. I have checked the LD_LIBRARY_PATH variable and it has PATH to the libcublas.so.9.0 file:

/usr/local/cuda-9.0/lib64

The OS is Ubuntu 16.04 (Deep Learning AMI Ubuntu Version 9.0); I am using the pre-built python3 environment TensorFlow(+Keras2) with Python3 (CUDA 9/MKL)

JupyterLab is running on JupyterHub. How can I fix this issue?

Full error report:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
~/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py in <module>()
     57 
---> 58   from tensorflow.python.pywrap_tensorflow_internal import *
     59   from tensorflow.python.pywrap_tensorflow_internal import __version__

~/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py in <module>()
     27             return _mod
---> 28     _pywrap_tensorflow_internal = swig_import_helper()
     29     del swig_import_helper

~/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py in swig_import_helper()
     23             try:
---> 24                 _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
     25             finally:

~/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/imp.py in load_module(name, file, filename, details)
    242         else:
--> 243             return load_dynamic(name, filename, file)
    244     elif type_ == PKG_DIRECTORY:

~/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/imp.py in load_dynamic(name, path, file)
    342             name=name, loader=loader, origin=path)
--> 343         return _load(spec)
    344 

ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
<ipython-input-3-d6579f534729> in <module>()
----> 1 import tensorflow

~/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/__init__.py in <module>()
     22 
     23 # pylint: disable=g-bad-import-order
---> 24 from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
     25 # pylint: disable=wildcard-import
     26 from tensorflow.tools.api.generator.api import *  # pylint: disable=redefined-builtin

~/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/python/__init__.py in <module>()
     47 import numpy as np
     48 
---> 49 from tensorflow.python import pywrap_tensorflow
     50 
     51 # Protocol buffers

~/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py in <module>()
     72 for some common reasons and solutions.  Include the entire stack trace
     73 above this error message when asking for help.""" % traceback.format_exc()
---> 74   raise ImportError(msg)
     75 
     76 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long

ImportError: Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36_ak2/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Upvotes: 2

Views: 678

Answers (1)

Husein Zolkepli
Husein Zolkepli

Reputation: 11

Same case like me, I created a new ubuntu account name jupyter to login to jupyterhub.

This new account not shared variables with ubuntu user, so you need to copy .bashrc and .dlamirc.

sudo usermod -a -G sudo jupyter
su jupyter
cp /home/ubuntu/.bashrc /home/jupyter/
cp /home/ubuntu/.dlamirc /home/jupyter/
source ~/.bashrc

Replace jupyter with your own user name.

Upvotes: 1

Related Questions