zoukankan      html  css  js  c++  java
  • ImportError: DLL load failed: 找不到指定的模块。

    今年的软件杯中,我们比赛选题是关于深度学习的内容,在配置Pycharm里面引用电脑GPU时候出现“ImportError: DLL load failed: 找不到指定的模块。”的问题,我踩坑踩了很多,才找到的解决办法,分享一下:

    首先说一下环境,我的配置是win10 + python3.6 + pycharm + tensorflow-gpu1.3 + CUDA8.0+cudnn-8.0-windows10-x64-v5.1

    版本之间是有配置要求的,有的版本和版本之间是会出现问题的,所以在下载安装时候一定要看好自己电脑里面已有的配置,配置信息可以在https://github.com/fo40225/tensorflow-windows-wheel网址查看:

    各个配置之间的版本都写得很好,可以进行下载,安装。

    安装好以后,记得CUDA是要配置环境变量的,将cudnn里面的文件拷贝到CUDA文件路径下,安装时候,他会自己默认安装到C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0下

    将下载好的cudnn里面文件放到相同文件夹名字下面就好。

    然后在pycharm里面下载tensorflow-gpu,这里也要需要注意版本问题,下载好以后如果出现“ImportError: DLL load failed: 找不到指定的模块,就在https://github.com/fo40225/tensorflow-windows-wheel里面下载相应的wheel文件,然后cmd里面输入“pip install ”然后打开保存下载好whl文件的文件夹,将文件拖到cmd里面即可

    然后回车就行。后面就会成功啦

    这里给大家献上配置代码,直接pycharm里面运行,根据i下面的报错信息也好下载你需要的版本文件:

    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("
    - 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("
    - 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:WindowsSystem32'. 
      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()
    

      在配置好以后,会出现gpu可以用的好消息啦。

  • 相关阅读:
    Deepin安装Python开发环境
    Deepin怎样安装C/C++编译环境更好
    当 tcpdump -w 遇到 Permission denied
    c++中的虚函数
    c++中的new 和delete
    ubuntu没有输入窗口,不能调用输入法
    Ubuntu下升级VisualBox后无法启动 Kernel driver not installed (rc=-1908)
    BCD与GRUB
    adb shell device not found解决
    unsupported number of arguments...的错误
  • 原文地址:https://www.cnblogs.com/zhaochunhui/p/10839462.html
Copyright © 2011-2022 走看看