import ctypes
import imp
import sysdef main():try:import tensorflow as tfprint("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 = Falsepython_version = sys.version_info.major, sys.version_info.minorprint("\n- Python version is %d.%d." % python_version)if not (python_version == (3, 5) or python_version == (3, 6)):candidate_explanation = Trueprint("- 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 = Falseprint("""
- No module named TensorFlow is installed in this Python environment. You mayinstall it using the command `pip install tensorflow`.""")try:msvcp140 = ctypes.WinDLL("msvcp140.dll")except OSError:candidate_explanation = Trueprint("""
- Could not load 'msvcp140.dll'. TensorFlow requires that this DLL beinstalled in a directory that is named in your %PATH% environmentvariable. You may install this DLL by downloading Microsoft VisualC++ 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 = Trueprint("""
- Could not load 'cudart64_80.dll'. The GPU version of TensorFlowrequires that this DLL be installed in a directory that is named inyour %PATH% environment variable. Download and install CUDA 8.0 fromthis URL: https://developer.nvidia.com/cuda-toolkit""")try:nvcuda = ctypes.WinDLL("nvcuda.dll")except OSError:candidate_explanation = Trueprint("""
- Could not load 'nvcuda.dll'. The GPU version of TensorFlow requires thatthis 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 thecorrect driver installed.""")cudnn5_found = Falsetry:cudnn5 = ctypes.WinDLL("cudnn64_5.dll")cudnn5_found = Trueexcept OSError:candidate_explanation = Trueprint("""
- Could not load 'cudnn64_5.dll'. The GPU version of TensorFlowrequires that this DLL be installed in a directory that is named inyour %PATH% environment variable. Note that installing cuDNN is aseparate step from installing CUDA, and it is often found in adifferent directory from the CUDA DLLs. You may install thenecessary DLL by downloading cuDNN 5.1 from this URL:https://developer.nvidia.com/cudnn""")cudnn6_found = Falsetry:cudnn = ctypes.WinDLL("cudnn64_6.dll")cudnn6_found = Trueexcept OSError:candidate_explanation = Trueif 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 installedin a directory that is named in your %PATH% environment variable. Note thatinstalling cuDNN is a separate step from installing CUDA, and it is oftenfound in a different directory from the CUDA DLLs. The correct version ofcuDNN 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 theTensorFlow GitHub page: https://github.com/tensorflow/tensorflow/issues""")sys.exit(-1)if __name__ == "__main__":main()