win10安裝tensorflow-cpu和tensorflow-gpu

SZU

介紹

tensorflow使用之前的安裝和環(huán)境配置是頭等大事,只有這個解決了,才能進行后面的學習和使用。本文介紹了在win10 操作系統(tǒng)上面安裝tensorflow-CPU和tensorflow-GPU的環(huán)境。



說在安裝之前

  • tensorflow需要先安裝anaconda,然后再在anaconda中安裝tensorflow,conda install tensorfow,這里最好先下載鏡像,然后安裝,國內(nèi)容易被墻,很多時候安裝一大半就失敗了。
  • 安裝anaconda,再安裝其cpu或者GPU版本。最后再在spyder中使用。
  • 然而,對于習慣使用pycharm而非anaconda的朋友來說,安裝tensorflow是一件多么不幸的事情呀,pip install tensorflow,至少我沒有成功過,可以安裝完成anaconda后,在pycharm中調(diào)用anaconda中的解釋器。
  • 對于anaconda中是否需要再安裝一個虛擬環(huán)境,在這個環(huán)境里再安裝tensorflow這個問題,我覺得完全沒有必要,雖然網(wǎng)上很多貼子都是這么做的,anaconda已經(jīng)安裝這么多包了,不在乎多這么一個了。


一、win10 搭建tensorflow-CPU環(huán)境

已經(jīng)在另一篇博客中介紹了,pycharm+anaconda+tensorflow(CPU)

二、win10 搭建tensorflow-GPU環(huán)境

cpu只能解決一些運算量很小的問題,學習還可以,但真需要使用時,就捉襟見肘了。這里就要用到GPU來加速了。在搭建tensorflow-gpu環(huán)境之前有幾個問題不得不注意:

  • 1、cuda9.0+cudnn9.0+tensorflow-gpu1.9.0,三者版本需要對的上
  • 2、cunda9.0的安裝路徑和環(huán)境變量的配置問題
  • 3、tensorflow1.9.0和numpy的不兼容問題,numpy==1.14.0降低到numpy==1.13.0
  • 4、使用清華鏡像源會出現(xiàn)的問題

1、環(huán)境

  • 操作系統(tǒng):win10
  • GPU:GTX1050+CUDA9.0+cuDNN9.0
  • IDE:Pycharm
  • 框架:tensorflow-gpu1.9.0
  • 解釋器:Python3.6
    (強烈建議anaconda3,又方便又強大,下載太慢可以找鏡像)

2、安裝順序

(1)首先安裝CUDA9.0 官方下載地址

現(xiàn)在最新的已經(jīng)是9.2版本了。而我選擇9.0版本,是因為網(wǎng)上說,tensorflow的windows-gpu還不支持CUDA的新版本。再加上網(wǎng)上安裝9.0版本的教程都成功了,我就偷偷懶。
按照要求,一路綠燈。
note:這里的安裝路徑選用系統(tǒng)默認,最后肯定會安裝到C盤

(2)CUDA9.0 環(huán)境變量配置

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

(3)安裝cuDNN9.0 官網(wǎng)下載地址

下載搭配CUDA9.0的cudnn ,一定要注意搭配9.0。需要注冊英偉達的賬號,這個過程可能很痛苦,國外網(wǎng)站使用不易。

下載好之后,解壓,分別將.h .lib 和.dll 文件分別拷貝到cuda的include, lib/x64, bin 文件夾下。其實也就是對應的文件夾。

到這里就安裝好了CUDA9.0及其對應的cudnn。

(3)安裝tensorflow-GPU

為了不相干擾,先刪除之前安裝的是cpu版本。

>> pip uninstall tensorflow

然后安裝清華鏡像源中的程序

>> pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.9.0

添加到path當中

(4) 驗證

在命令行中,進入python,并輸入以下代碼:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

輸出:

b’ Hello, TensorFlow!

安裝完成

3、遇到的大坑

(1)鏡像源帶來的版本問題

https://mirrors.tuna.tsinghua.edu.cn/
https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
注意兩者的區(qū)別,前者不是最新的安裝包,很容易出現(xiàn)問題

以前使用清華鏡像源來安裝軟件,能大大提升下載速度,但是遇到一個很嚴重的問題,清華鏡像源上的版本問題,這里使用的是cuda9.0+cuDNN9.0,自然tensorflow-gpu也應該是1.9.0版本,而清華鏡像源上的是1.1.0版本,根本就不行。這里要先解除鏡像源鏈接,再重新安裝。

  • 添加 Anaconda 倉庫的鏡像源:
>> conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
>> conda config --set show_channel_urls yes

添加之后,就會從鏡像源中直接下載,速度是非??斓?/p>

  • 查看鏡像源:
conda config --show
  • 刪除鏡像源:
conda config --remove channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/' 

對于一些鏡像源出現(xiàn)的版本限制,可以刪除此鏡像源

(2)tensorflow1.9.0及其他高版本對numpy的不兼容問題

運行的時候會出現(xiàn)如下錯誤類型:

.local/lib/python2.7/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters

解決方法:這是因為numpy高版本與h5py不兼容導致,可以用 pip install numpy==1.13.0 安裝舊版本的numpy解決

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容