1. 程式人生 > >從零開始Tensorflow == 資深小白配置深度學習環境的血淚史

從零開始Tensorflow == 資深小白配置深度學習環境的血淚史

2018.2.6 再更

在另一臺電腦上裝了一遍TF1.5.0,其實並不複雜,下載速度快的話1個小時就可以搞定,而且從頭到尾也並沒有之前出現過的任何問題,所以啊,歸根結底,還是版本的問題

吃一塹長一智。下次謹記,不要網上亂翻教程,因為隨著版本更新都是有時限性的,最靠譜的還是官方文件。

本文主要內容是1.3.0安裝過程,但是裝1.5.0只需把軟體版本改一下即可。

2018.2.6 下午 更:

終於明白為什麼問題百出了。

2018年1月28日,tensorflow 1.5.0新版本釋出,所以當我在2018年2月5日,執行 pip install tensorflow-gpu 預設下載的是1.5.0版本

而我之前按照網上很多教程,配置的都是1.3.0老版本的環境

所以當我最後 pip install tensorflow-gpu=1.3.0 然後就下載成功了

參照官方文件,現在明確一下兩個版本要求的環境:(按照安裝順序排列)

1.3.0

Python 3.6(3.5也可以) +  Anaconda3 5.0.1 + Visual Studio 2015(C++) + Visual C++ 2015 Redistributable  +DXSDK_Jun10.exe + CUDA 8.0 + CUDNN 6  

1.5.0

Python 3.6(3.5也可以) +  Anaconda3 5.0.1 + Visual Studio 2017(C++) + Visual C++ 2015 Redistributable  +DXSDK_Jun10.exe + CUDA 9.0 + CUDNN 7

(NVIDIA 中國官網上的 CUDA 9.1不行,這裡附上英國官網的CUDA 9.0 下載連結:

https://developer.nvidia.com/cuda-90-download-archive

另,我第二次安裝的時候遇到一個問題 是Anaconda prompt命令框裡出現無法識別conda 指令

'C:\Users\PKumar\Continuum\anaconda3\Scripts\activate.bat' is not recognized as an internal or external command, operable program or batch file.#6053

參考這裡,親測有效解決

https://github.com/conda/conda/issues/6053#

另,剛剛才知道,把python 3.6刪了也沒事,其實直接裝anaconda作為預設的python就好了

2018.2.6 上午 更:

勸大家別看百度各種教程了,包括我這篇,都是不好好看官方文件腦子裡進的水

附官方連結,版本很重要!

tensorflow 官方安裝教程(2018.1.27)

https://tensorflow.google.cn/install/install_windows

2018.2.5   配置三天環境的總結

本來已經準備好Ubuntu雙系統的,但是發現TF竟然已經支援Windows,想想還是win吧

真·資深小白:摸摸魚裝裝軟體,快兩天了還沒配置好深度學習環境

這特麼還怎麼開始深度學習???

算了 小白撿起破筆記本(4G記憶體+機械硬碟512G 想哭……當初買電腦的時候腦子裡進了多少水),決定繼續

這篇教程其實就是 多種安裝方案和教程的彙總+遇到問題的總結和解決>>>如有雷同,我抄你的,感謝大神分享

1、python 3.6 下載安裝(這一步後來發現可以直接跳過,只要在anaconda安裝時勾選anaconda為預設python即可)

https://jingyan.baidu.com/article/d45ad14842d99969542b8054.html

python下載和安裝是跟著這個教程裡的,講的很詳細了

下了python 3.5的就別改了 挺好的


2、Anaconda3-5.0.1 下載安裝

下載地址:https://repo.continuum.io/archive/index.html 選擇和自己電腦匹配的版本,我選的是
(x86是32位系統,x64是64位系統) 安裝過程與一般軟體一樣,按照提示即可,另外在安裝過程中儘量選擇全部安裝,它會自動配好環境變數。 安裝中有個勾選的環節,兩個都勾上。 完成之後可在使用:Ctrl+R進入dos命令列,然後輸入python看到相應的版本,說明安裝完成且沒有問題。

3、DXSDK_Jun10.exe

  • 微軟的DirectX SDK工具包,不安裝它的話,後面編譯CUDA_Samples是沒法成功的。
  • 但是安裝到最後還是顯示DXSDK安裝失敗,

  • 不過網上說:
  • “我在windows 10上安裝的時候,最後的時候會報錯,不過沒有關係,關掉那個框。搜尋下"d3dx9.h"、"d3dx10.h"、"d3dx11.h"標頭檔案是不是存在,如果路徑如下這個樣子,就成功了。路徑:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\d3dx9.h”
  • 這一步參考  https://www.jianshu.com/p/c245d46d43f0

4、Visual Studio (C++)2015 community

啊罪過罪過,這步我之前忽略了,原來是把VS和VC++搞混了(……告辭告辭

建議大家下載VS2015(VS2017我安裝不成功,度娘普遍2015

官方那邊我是沒找到下載的地方,這裡丟個連結:

https://www.ithome.com/html/win10/164028.htm

線上安裝就行。然後如果只為CUDA而裝VS的話,建議自定義模式,然後就勾選C++就行,其他功能看自己需要選擇。全裝不僅慢而且佔地方。

然後靜靜等待安裝成功……注意這個過程網不要斷(我下載的是線上安裝的包)

後續補充:裝完後進入控制面板-》程式與功能看一下有沒有 Microsoft Visual C++ 2015 Redistributable (x64)

如果沒有的話建議安裝一下,不然後續有坑

下載地址 https://www.microsoft.com/en-us/download/details.aspx?id=48145

如果安裝不成功 ,看一下是否有vc++2017存在,如果有的話就把2017給卸了,再裝2015就可以了

5、CUDA 8.0 (GPU需要)

CUDA是由顯示卡廠商NVIDIA推出的通用平行計算架構,該架構使GPU能夠解決複雜的計算問題。

1) 首先大家要先檢查下自己的顯示卡支不支援CUDA,可以去NVIDIA官網查(不過現在的電腦一般都支援

然後CUDA要下8.0版本 8.0 !!!目前TF只支援到這個版本(嗯……小白先被官網帶偏了下載了9.1的)

下載地址 https://developer.nvidia.com/cuda-80-ga2-download-archive

2) 大約1.3GB的安裝包,下載好之後按照步驟安裝。

嗯 小白永遠都會在安裝過程遇到問題……典型失敗樣例如下:

“NVIDIA安裝程式失敗“


第一回合,小白不服,又強裝了一次,嗯這回服了……

 去度娘那邊問啊問,一個一個帖子點進去,若以下藥方不管用,建議大家跟我一樣參照每個人的回答檢查一下自己的配置。

1、顯示卡驅動問題。

解決方案: 去NVIDIA重新下載顯示卡驅動,官網會自動幫你確定你的顯示卡型別,我需要裝的是GeForce Experience

(百度上也有建議去裝魯大師然後更新顯示卡驅動,那樣方便一點。不過我下載完魯大師之後,說我驅動可以更新,但是更新失敗……mmp)

然後裝GeForce Experience的時候也不順利,裝到一半又罷工了。於是繼續度娘。

參考這個樓主的解答,我的GeForce Experience終於順利裝好了

http://blog.sina.com.cn/s/blog_4d7f24990102wi4c.html

簡而言之,在系統[控制面板][大圖示][管理工具][服務]中,啟動3個服務,分別是[DeviceInstall Service], [Device Setup Manager], [Windows Installer],就是下面這3個服務

【WindowsInstaller】


【Device SetupManager】 【Device InstallService】 這三個都按照圖片配好,我的顯示卡驅動也就安裝成功了 現在再來裝一次CUDA,終於顯示安裝成功了 來我們測試一下: 在DOS介面(在搜尋選單欄鍵入cmd,開啟桌面應用命令提示符)輸入 nvcc -V,顯示如下介面則安裝成功了


(容我講一句喜悅的 MMP!

然後完成後配置系統變數,在系統變數中的CUDA_PATH中,加上三個路徑,

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\lib\x64


6、CUDNN 下載安裝

NVIDIA官網下載就行,注意對應cuda的版本 tensorflow 1.5.0 ---cudnn 7 tensorflow 1.3.0---cudnn 6 下載好後解壓,裡面有bin、include、lib三個目錄,將三個資料夾複製到安裝CUDA的地方覆蓋對應資料夾,預設資料夾在:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

7、tensorflow-gpu下載安裝

1、修改pip源

因為python下的pip下載非常方便,我們一會也是用到pip下載tensorflow,但是pip的源預設是國外的,要翻牆,所以建議先改個pip源

在C:\Users\pc路徑下建立pip資料夾,在裡面新建 pip.ini配置檔案

並填入如下內容(阿里雲的映象)

[global]  
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]  
trusted-host=mirrors.aliyun.com

(具體: 新建txt文字檔案,然後填入內容,儲存檔案。在檢視選項裡把“隱藏拓展名”的選項去掉,不勾選,然後檔名會變成pip.txt,重新命名為pip.ini)

2、在開始面板裡,找到 Anaconda Prompt

如果你和我一樣是python3.6,那麼我們需要建立一個py3.5的環境,因為tf目前只支援到3.5

在Anaconda Prompt中利用Anaconda建立一個python3.5的環境,環境名稱為tensorflow ,輸入下面命令:

conda create -n tensorflow python =3.5

然後等待它執行完成

activate tensorflow(啟用tensorflow環境)

這時會變成這樣


接著輸入  pip install tensorflow-gpu


網上很多教程會輸入pip3 install tensorflow-gpu,雖然網友說pip和pip3並沒有什麼區別,但是pip3困住了我好久,我只有pip才能有效下載和安裝

然後如果安裝成功,那麼恭喜你完成了!可以翻到最後去測試一下tensorflow了

但是依照小白的多bug多坑體質,哪那麼容易結束

Q1 Unknown requries Python >=2.6  <3 but ......

 

開玩笑呢……難道我應該安裝py2.7嗎

解決方案如下:


是futures出的問題,tf 1.5.0需要3.1.1版本的,所以再下一次,下載成功會顯示successfully

如果你的出現以下情況, 請去futures路徑下把futures給刪了,然後重新pip 一下


Q2  ImportError: Could not find 'cudart64_90.dll'. TensorFlowrequires that this DLL be installed in a directory that is     named in your %PATH%environment variable. Download and install CUDA 9.0 from this URL:  https://developer.nvidia.com/cuda-toolkit

首先我先去確認了一下cuda 9.1解除安裝乾淨了

然後還是不行,參考這個帖子 http://blog.csdn.net/wobeatit/article/details/79207196

改了tensorflow的版本 改為1.3.0

pip install tensorflow-gpu=1.3.0

然後出現了Q3……

Q3 

“DLL load failed: 找不到指定的模組”

安裝了好幾遍,都是這樣的錯誤 後來參考網上問題,發現可能tensorflow-gpu 1.3.0版本,對應的cudnn也要改版本,改成 cudnn 6  照著做了,然後,嗯,終於successfully

8、測試

開啟anaconda prompt,  activate tensorflow--->python---> import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session()  print(sess.run(hello))
最後,如果你看到Tensorflow在熱情地和你打招呼,那麼就是成功啦!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
.