在windows10上安裝caffe和tensorflow

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

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

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

caffe和tensorflow對python的版本也有要求,使用Anaconda管理python會比較方便,經過建立虛擬環境能夠更改python的版本。get

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

  2. 由於caffe須要的CUDA和CUDNN的版本較低,因此須要先安裝好低版本的CUDA和CUDNN,我安裝的是CUDA8.0和CUDNN5.0,而後把caffe搭建好。it

  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是會發生以下錯誤:pip

    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: 找不到指定的模塊。io

    During handling of the above exception, another exception occurred:ast

    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,問題獲得解決。
相關文章
相關標籤/搜索