在windows10上安裝caffe和tensorflow


最近在Windows10上安裝了caffe和tensorflow,折騰了好久。在此記錄一下。

安裝caffe的過程已在另一篇博客中進行了記錄,在此不再贅述。而tensorflow也是非常簡單的,也不再詳細說明。

安裝caffe和tensorflow比較重要的一點是,要確保把依賴正確安裝好。GPU版本的caffe需要7+版本的CUDA和5.5/5.0的CUDNN。而GPU版本的tensorflow在1.5.0以上的版本則需要CUDA9和CUDNN7。兩個框架對CUDA和CUDNN的不同要求造成了小小的沖突。

caffe和tensorflow對python的版本也有要求,使用Anaconda管理python會比較方便,通過創建虛擬環境可以更改python的版本。

  1. 我先通過conda create -n tensorflow python=3.5命令創建了一個名為tensorflow的虛擬環境,在這個虛擬環境中的python版本為3.5。

  2. 因為caffe需要的CUDA和CUDNN的版本較低,所以需要先安裝好低版本的CUDA和CUDNN,我安裝的是CUDA8.0和CUDNN5.0,然后把caffe搭建好。

  3. 然后再安裝高版本的CUDA和CUDNN,我安裝的是CUDA9.0和CUDNN7.0,然后在tensorflow虛擬環境中通過pip install tensorflow-gpu命令安裝tensorflow。不同版本的CUDA是可以共存的,因為不同程序可以鏈接不同版本的CUDA文件。通過pip install tensorflow-gpu命令安裝tensorflow時,程序會自動安裝最新版本的tensorflow,命令執行完畢后我電腦上會安裝1.13版本的tensorflow-gpu,但是在python中import tensorflow是會發生如下錯誤:

    Traceback (most recent call last):
    File "D:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
    File "D:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
    File "D:\Anaconda3\envs\tensorflow\lib\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 "D:\Anaconda3\envs\tensorflow\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
    File "D:\Anaconda3\envs\tensorflow\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
    ImportError: DLL load failed: 找不到指定的模塊。

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "D:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
    File "D:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
    File "D:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
    ImportError: Traceback (most recent call last):
    File "D:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
    File "D:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
    File "D:\Anaconda3\envs\tensorflow\lib\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 "D:\Anaconda3\envs\tensorflow\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
    File "D:\Anaconda3\envs\tensorflow\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
    ImportError: DLL load failed: 找不到指定的模塊

    找不到某些動態鏈接庫
    有網友說缺少VS的某些環境,需要安裝這個組件:https://www.microsoft.com/en-us/download/details.aspx?id=53587
    我沒有采取這個解決方案,因為我有更新版本的這個組件,因為之前一直使用1.7版本的tensorflow,所以通過命令pip install tensorflow-gpu==1.7安裝低版本的tensorflow,問題得到解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM