(通用)深度學習環境搭建:tensorflow安裝教程及常見錯誤解決

區別於其他入門教程的“手把手式”,本文更強調“因”而非“果”。我之所以加上“通用”字樣,是因爲在你瞭解了這個開發環境之後,那些很low的錯誤你就不會犯了。
大家都知道深度學習涉及到大量的模型、算法,看着那些亂糟糟的公式符號,心中一定是“WTF”。我想說的是,這些你都不要管,所謂車到山前必有路。

所需安裝包

通常以我的習慣是以最簡單的方式來接觸一門新的技術,並且儘量拋棄新的(邊緣)技術的介入,如果因爲一些其他因素來導致學習樹的不斷擴大,會變得很低效,所以我們直擊核心。以最常用的windows環境爲例。
這裏以windows7+TensorFlow-gpu1.5+cuda8+cudnn6+anaconda5+python3.6爲例。這裏強烈推薦GPU版本,因爲深度學習動輒幾小時、幾天、幾周的運行市場,GPU加速會節省你很多時間(甚至電費)。

  1. cuda_8.0.61_windows.exe http://developer2.download.nvidia.com/compute/cuda/8.0/secure/Prod2/local_installers/cuda_8.0.61_windows.exe
    從NIVDIA官網下載需要找到歷史版本Legacy Releases
    tensorflow代碼引用的cuda庫必須絕對匹配,比如tensorflow1.3-1.5都使用cuda8的庫,目前(2017-10-24 20:40:53)不支持cuda9庫。
    這裏有一個關於cuda8的補丁,修復了8.0的一些bughttp://developer2.download.nvidia.com/compute/cuda/8.0/secure/Prod2/patches/2/cuda_8.0.61.2_windows.exe
  2. cudnn-8.0-windows7-x64-v6.0.zip http://developer2.download.nvidia.com/compute/machine-learning/cudnn/secure/v6/prod/8.0_20170427/cudnn-8.0-windows7-x64-v6.0.zip
    和上面的原因一樣,請匹配6.0版本。
  3. tensorflow https://github.com/tensorflow/tensorflow
    我之所以給出github的地址是因爲tensorflow團隊在github上每天12:34都有一次build,並且github不受“種種”網絡因素的影響。在tensorflow找到python3.6對應gpu版本build history,找到whl文件地址。
  4. Anaconda3-5.0.0-Windows-x86_64.exe https://www.anaconda.com/download/
    anaconda有一個最大的好處就是安裝各種python庫比較方便。

    安裝包關係

    anaconda相當於tensorflow運行的容器。anaconda可以創建多個“盒子”(environment),每個盒子中的環境互不干擾,所以使用anaconda可以同時安裝python3.5/3.6,tensorflow1.3/1.5。
    cuda和cudnn是tensorflow調用gpu所需要的庫。也就是說tensorflow必須通過cuda和cudnn來調用電腦的gpu。
    這裏寫圖片描述
    #安裝#

    安裝anaconda、anaconda、cuda、cudnn

  5. anaconda、cuda、cudnn安裝即可。在安裝過程中會自動配置環境變量。
  6. 不過需要手動將cuda的development目錄配置到CUDA_HOME中。
  7. 將cudnn解壓後,把文件複製到cuda對應目錄。

    安裝tensorflow

  8. 啓動anaconda,點擊environments(環境),點擊create(新建),命名tensorflow-gpu,選取3.6版本。
  9. 點擊tensorflow-gpu啓動Open Terminal,輸入activate tensorflow-gpu。這時,anaconda下名字叫做tensorflow-gpu的環境已經啓動了。下面我們才真正開始安裝tensorflow。
  10. 輸入
    pip install --ignore-installed --upgrade http://ci.tensorflow.org/view/tf-nightly/job/tf-nightly-windows/M=windows-gpu,PY=36/lastSuccessfulBuild/artifact/cmake_build/tf_python/dist/tf_nightly_gpu-1.5.0.dev20171024-cp36-cp36m-win_amd64.whl
    稍等片刻tensorflow就安裝成功了。

    測試tensorflow環境

  11. 點擊anaconda下我們創建的環境tensorflow-gpu啓動Open With Python
  12. 輸入import tensorflow如果不報錯就說明安裝成功了。

    常見錯誤

  13. ImportError: DLL load failed: 找不到指定的模塊。
    這個錯誤通常是cuda或者cudnn與tensorflow的版本對應錯誤。推薦下載cuda8+cudnn6。
    當然,隨着時間推移這些版本會被淘汰,但本教程依然適用。在github上找到tensorflow項目,在項目內搜索TF_CUDA_VERSIONTF_CUDNN_VERSION會看到當前tensorflow對應的是哪個cuda和cudnn版本。
  14. 其他錯誤。
    除1的錯誤外我暫時沒碰到其他錯誤,如果出現排錯的思路是,確認版本-->確認庫是否包含在path中。如果依然無法解決,可以加我微信takeurhand討論。

    運行mnist例子

  15. mnist例子運行需要安裝matplotlib庫,這時候anaconda的方便之處就得以體現了。點擊anaconda下tensorflow-gpu環境,再右側搜索matplotlib,勾選並點擊apply即可。
  16. 下載github上mnist教程例子https://github.com/martin-gorner/tensorflow-mnist-tutorial,並解壓。
  17. 啓動anaconda下tensorflow-gpu環境Open Terminal,輸入activate tensorflow-gpu,cd到步驟2解壓目錄。
  18. 執行python mnist_xx.py
    這裏寫圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章