Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot import Tensorflow for GPU on Windows 10

Trying to install the gpu version of Tensorflow on my machine, but I'm getting this error when trying 'import tensorflow'


ImportError Traceback (most recent call last) C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflo w_internal.py in swig_import_helper() 17 try: ---> 18 return importlib.import_module(mname) 19 except ImportError:

C:\Users\snh5_000\Anaconda3\lib\importlib__init__.py in import_module(name, pac kage) 125 level += 1 --> 126 return _bootstrap._gcd_import(name[level:], package, level) 127

C:\Users\snh5_000\Anaconda3\lib\importlib_bootstrap.py in _gcd_import(name, pac kage, level)

C:\Users\snh5_000\Anaconda3\lib\importlib_bootstrap.py in _find_and_load(name, import_)

C:\Users\snh5_000\Anaconda3\lib\importlib_bootstrap.py in _find_and_load_unlock ed(name, import_)

C:\Users\snh5_000\Anaconda3\lib\importlib_bootstrap.py in _load_unlocked(spec)

C:\Users\snh5_000\Anaconda3\lib\importlib_bootstrap.py in module_from_spec(spec )

C:\Users\snh5_000\Anaconda3\lib\importlib_bootstrap_external.py in create_modul e(self, spec)

C:\Users\snh5_000\Anaconda3\lib\importlib_bootstrap.py in _call_with_frames_rem oved(f, *args, **kwds)

ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

ImportError Traceback (most recent call last) C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflo w.py in () 40 sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL) ---> 41 from tensorflow.python.pywrap_tensorflow_internal import * 42 from tensorflow.python.pywrap_tensorflow_internal import version

C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflo w_internal.py in () 20 return importlib.import_module('_pywrap_tensorflow_internal' ) ---> 21 _pywrap_tensorflow_internal = swig_import_helper() 22 del swig_import_helper

C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflo w_internal.py in swig_import_helper() 19 except ImportError: ---> 20 return importlib.import_module('_pywrap_tensorflow_internal' ) 21 _pywrap_tensorflow_internal = swig_import_helper()

C:\Users\snh5_000\Anaconda3\lib\importlib__init__.py in import_module(name, pac kage) 125 level += 1 --> 126 return _bootstrap._gcd_import(name[level:], package, level) 127

ImportError: No module named '_pywrap_tensorflow_internal'

During handling of the above exception, another exception occurred:

ImportError Traceback (most recent call last) in () ----> 1 import tensorflow

C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow__init__.py in () 22 23 # pylint: disable=wildcard-import ---> 24 from tensorflow.python import * 25 # pylint: enable=wildcard-import 26

C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python__init__.py in < module>() 49 import numpy as np 50 ---> 51 from tensorflow.python import pywrap_tensorflow 52 53 # Protocol buffers

C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflo w.py in () 50 for some common reasons and solutions. Include the entire stack trace 51 above this error message when asking for help.""" % traceback.format_exc () ---> 52 raise ImportError(msg) 53 54 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line- too-long

ImportError: Traceback (most recent call last): File "C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_t ensorflow_internal.py", line 18, in swig_import_helper return importlib.import_module(mname) File "C:\Users\snh5_000\Anaconda3\lib\importlib__init__.py", line 126, in imp ort_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 986, in _gcd_import File "", line 969, in _find_and_load File "", line 958, in _find_and_load_unlocked File "", line 666, in _load_unlocked
File "", line 577, in module_from_spec
File "", line 906, in create_module File "", line 222, in _call_with_frames_removed ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_t ensorflow.py", line 41, in from tensorflow.python.pywrap_tensorflow_internal import * File "C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_t ensorflow_internal.py", line 21, in _pywrap_tensorflow_internal = swig_import_helper() File "C:\Users\snh5_000\Anaconda3\lib\site-packages\tensorflow\python\pywrap_t ensorflow_internal.py", line 20, in swig_import_helper return importlib.import_module('_pywrap_tensorflow_internal') File "C:\Users\snh5_000\Anaconda3\lib\importlib__init__.py", line 126, in imp ort_module return _bootstrap._gcd_import(name[level:], package, level) ImportError: No module named '_pywrap_tensorflow_internal'

Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_probl ems

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

Running Windows 10, Python 3.5.2, Anaconda 4.2.0 64-bit. Installed tensorflow-gpu using 'pip install tensorflow-gpu'.

I've attempted the fixes in https://github.com/tensorflow/tensorflow/issues/5949, namely running Microsoft Visual C++ 2015 Redistributable Update 3 and confirming I had the following DLLs in System32/SysWOW64/my Python folder:

KERNEL32.dll

WSOCK32.dll

WS2_32.dll

SHLWAPI.dll

python35.dll

MSVCP140.dll

VCRUNTIME140.dll

api-ms-win-crt-runtime-l1-1-0.dll

api-ms-win-crt-heap-l1-1-0.dll

api-ms-win-crt-utility-l1-1-0.dll

api-ms-win-crt-stdio-l1-1-0.dll

api-ms-win-crt-string-l1-1-0.dll

api-ms-win-crt-math-l1-1-0.dll

api-ms-win-crt-convert-l1-1-0.dll

api-ms-win-crt-environment-l1-1-0.dll

api-ms-win-crt-filesystem-l1-1-0.dll

api-ms-win-crt-time-l1-1-0.dll

It's worth noting that the cpu version of Tensorflow imports and runs just fine, but when I attempt to use the gpu version I get the above error. I presume this is due to a mistake on my part in configuring the CUDA toolkit/cudNN, but I think I did everything listed in the instructions correctly. I made sure I had an entry in the PATH environment variable for the CUDA toolkit (leading to \bin and \libnvvp) and added one in for cudNN (leading to \cuda).

Any thoughts or other information you'd need to help?

like image 323
snharan91 Avatar asked Apr 24 '17 00:04

snharan91


People also ask

Why is TensorFlow not showing GPU?

This is most likely because the CUDA and CuDNN drivers are not being correctly detected in your system. In both cases, Tensorflow is not detecting your Nvidia GPU. This can be for a variety of reasons: Nvidia Driver not installed.


3 Answers

Have you tried turning it off and on again? Seriously, though. If you have your command line terminal running during the CUDA and cuDNN installs, the environment variables aren't refreshed until you close and re-open the terminal. I know it's simple, but I struggled for an hour before a simple restart solved that same import error.

like image 194
Jean Louw Avatar answered Oct 07 '22 12:10

Jean Louw


Try to rename cudnn64_6.dll to cudnn64_5.dll in C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin.

like image 24
Nova Avatar answered Oct 07 '22 13:10

Nova


You need to have CUDA_HOME leading to \cuda and %CUDA_HOME%\bin appended to your PATH. Also, tensorflow as of now only supports cudNN 5.1, please make sure you have that.

like image 40
Amar Sharma Avatar answered Oct 07 '22 13:10

Amar Sharma