Created
September 7, 2018 06:15
-
-
Save leoluyi/80c2d18738a4801db08453fc9e7cc5d2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ctypes | |
import imp | |
import sys | |
def main(): | |
try: | |
import tensorflow as tf | |
print("TensorFlow successfully installed.") | |
if tf.test.is_built_with_cuda(): | |
print("The installed version of TensorFlow includes GPU support.") | |
else: | |
print("The installed version of TensorFlow does not include GPU support.") | |
sys.exit(0) | |
except ImportError: | |
print("ERROR: Failed to import the TensorFlow module.") | |
candidate_explanation = False | |
python_version = sys.version_info.major, sys.version_info.minor | |
print("\n- Python version is %d.%d." % python_version) | |
if not (python_version == (3, 5) or python_version == (3, 6)): | |
candidate_explanation = True | |
print("- The official distribution of TensorFlow for Windows requires " | |
"Python version 3.5 or 3.6.") | |
try: | |
_, pathname, _ = imp.find_module("tensorflow") | |
print("\n- TensorFlow is installed at: %s" % pathname) | |
except ImportError: | |
candidate_explanation = False | |
print(""" | |
- No module named TensorFlow is installed in this Python environment. You may | |
install it using the command `pip install tensorflow`.""") | |
try: | |
msvcp140 = ctypes.WinDLL("msvcp140.dll") | |
except OSError: | |
candidate_explanation = True | |
print(""" | |
- Could not load 'msvcp140.dll'. TensorFlow requires that this DLL be | |
installed in a directory that is named in your %PATH% environment | |
variable. You may install this DLL by downloading Microsoft Visual | |
C++ 2015 Redistributable Update 3 from this URL: | |
https://www.microsoft.com/en-us/download/details.aspx?id=53587""") | |
try: | |
cudart64_80 = ctypes.WinDLL("cudart64_80.dll") | |
except OSError: | |
candidate_explanation = True | |
print(""" | |
- Could not load 'cudart64_80.dll'. The GPU version of TensorFlow | |
requires that this DLL be installed in a directory that is named in | |
your %PATH% environment variable. Download and install CUDA 8.0 from | |
this URL: https://developer.nvidia.com/cuda-toolkit""") | |
try: | |
nvcuda = ctypes.WinDLL("nvcuda.dll") | |
except OSError: | |
candidate_explanation = True | |
print(""" | |
- Could not load 'nvcuda.dll'. The GPU version of TensorFlow requires that | |
this DLL be installed in a directory that is named in your %PATH% | |
environment variable. Typically it is installed in 'C:\Windows\System32'. | |
If it is not present, ensure that you have a CUDA-capable GPU with the | |
correct driver installed.""") | |
cudnn5_found = False | |
try: | |
cudnn5 = ctypes.WinDLL("cudnn64_5.dll") | |
cudnn5_found = True | |
except OSError: | |
candidate_explanation = True | |
print(""" | |
- Could not load 'cudnn64_5.dll'. The GPU version of TensorFlow | |
requires that this DLL be installed in a directory that is named in | |
your %PATH% environment variable. Note that installing cuDNN is a | |
separate step from installing CUDA, and it is often found in a | |
different directory from the CUDA DLLs. You may install the | |
necessary DLL by downloading cuDNN 5.1 from this URL: | |
https://developer.nvidia.com/cudnn""") | |
cudnn6_found = False | |
try: | |
cudnn = ctypes.WinDLL("cudnn64_6.dll") | |
cudnn6_found = True | |
except OSError: | |
candidate_explanation = True | |
if not cudnn5_found or not cudnn6_found: | |
print() | |
if not cudnn5_found and not cudnn6_found: | |
print("- Could not find cuDNN.") | |
elif not cudnn5_found: | |
print("- Could not find cuDNN 5.1.") | |
else: | |
print("- Could not find cuDNN 6.") | |
print(""" | |
The GPU version of TensorFlow requires that the correct cuDNN DLL be installed | |
in a directory that is named in your %PATH% environment variable. Note that | |
installing cuDNN is a separate step from installing CUDA, and it is often | |
found in a different directory from the CUDA DLLs. The correct version of | |
cuDNN depends on your version of TensorFlow: | |
* TensorFlow 1.2.1 or earlier requires cuDNN 5.1. ('cudnn64_5.dll') | |
* TensorFlow 1.3 or later requires cuDNN 6. ('cudnn64_6.dll') | |
You may install the necessary DLL by downloading cuDNN from this URL: | |
https://developer.nvidia.com/cudnn""") | |
if not candidate_explanation: | |
print(""" | |
- All required DLLs appear to be present. Please open an issue on the | |
TensorFlow GitHub page: https://github.com/tensorflow/tensorflow/issues""") | |
sys.exit(-1) | |
if __name__ == "__main__": | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment