基于Anaconda環境的Tensorflow安裝
- Anaconda環境安裝
- Tensorflow安裝
- 基于CUDA、CUDNN的GPU版本Tensorflow安裝
Anaconda環境安裝
這一部分比較簡單,直接進入Anaconda官網根據自己的喜好下載符合自身電腦配置的版本,(這個方法是萬無一失的,但好像只能下載最新版本的Anaconda環境,且下載速度極不穩定,大多數情況下很慢)
鏈接:Anaconda官方下載
為了解決上述問題,可尋找清華源下載鏈接采用迅雷下載的方式進行下載,(下載速度極快,且各種歷史版本任君挑選)
鏈接: 清華源link.
此處多加說明一點:Anaconda最新版本中Spyder編輯器為4.x版本,這些版本目前尚未完備,在運行時會出現QSocket執行緒問題,因此推薦使用Anaconda3.x版本,
在Anaconda安裝程序中有一步關于環境變數的配置需要勾選,免去安裝后手動設定環境變數的麻煩,這點在諸多巨巨的博客中都已提到,
Tensorflow安裝
Tensorflow目前主要分為1.x版本與2.x版本,每個版本的差異均較大,但一直是向簡化方向進行構建,這點毋庸置疑,(由于不同版本的Tensorflow函式功能名稱以及框架不盡相同,因此帶來了Github源代碼參差不齊的問題,在采用Tensorflow框架進行機器學習問題解決時在這一方面明顯不如Pytorch來的方便),下面主要分為兩塊進行講解:
1.其實很多前輩都說要在安裝Tensorflow或者Pytorch時先新建專用環境,這樣在使用特定庫時只需在命令列進入該特定環境即可隨意揮霍,同時在對該庫喪失信心后即可連同環境一起洗掉,極其干凈,
采用在Windows命令列輸入conda create --name env_name python=2.x(或者python=3.x)的方式進行環境創建,Anaconda會自己把環境配置補齊,

但我覺得對于大部分人來說沒有太高的技巧,技術小白在安裝Anaconda后只是簡單地熟悉Jupyter、Anaconda Prompt等Anaconda內置模塊,最主要的還是其中的Spyder編輯器,很少有小白在Windows命令列或者Prompt命令列亦或是Powershell進行Python程式的執行甚至撰寫,因此在設定新的環境以及在命令列進行程式執行方面僅作了解即可,
2.在安裝好Anaconda后,由于已添加環境變數,可直接在windows命令列進行pip命令安裝Tensorflow,此處注意Tensorflow版本分為CPU版本與GPU版本,CPU版本較為簡單,直接pip install tensorflow+版本號即可,

此處相當智能,在你輸入一個版本號之后,如果無法安裝,命令列會自動提示可安裝版本,根據提示pip即可,

本篇著重介紹GPU版本的安裝,
(在運行pip命令或conda命令前需要先將下載源更換為清華源,下載速度更快更穩定,在命令列輸入幾行簡單代碼即可)
若是conda命令:
conda config --add channels https://pypi.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://pypi.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
若是pip命令:
在user目錄中創建pip檔案夾,例如C:/user/Dell/pip,建立檔案pip.ini用記事本打開,輸入以下內容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install](可以不要)
trusted-host=mirror.aliyun.com(可以不要)
搞定收工,(暫時)
基于CUDA、CUDNN的GPU版本Tensorflow安裝
這里有兩種方式進行完整安裝:
1.先安裝GPU版本的Tensorflow,之后根據提示下載相應的CUDA以及CUDNN插件,
GPU版本Tensorflow的安裝在windows命令列中的命令與CPU版本差異不大,如下:
pip install tensorflow_gpu==1.14.0(這里采用1.x版本有兩點原因:一是前面推薦安裝的Anaconda非最新版本,為較為穩定的之前的版本,所以僅支持tensorflow1.x,二是1.x的版本在Github上源代碼較多,便于小白理解學習,若是2.x版本則幾乎不可直接套用Github代碼)
在采用pip命令download完成之后,可直接在Spyder編輯器中進行如下操作:
import tensorflow as tf
僅此一行即可,之后在Spyder右下角視窗根據錯誤提示安裝CUDA9.0版本或CUDA10.0版本,

會出現類似于
ImportError: Could not find 'cudart64_100.dll'(對應CUDA10.x)或者
ImportError: Could not find 'cudart64_90.dll'(對應CUDA9.x)的錯誤
(本人安裝的是CUDA10.0版本,現在最新的是11.0版本,但畢竟是新版本,可能還需要試錯,這里建議CUDA10.0版本即可,完全可以保證GPU運行速度),這里可以直接在NVIDIA官網進行下載,也可以尋找清華源的安裝包,
CUDA10.0鏈接
建議CUDA安裝在C盤,也就是系統盤,這樣做原因有二:一是在其他盤經過本人測驗會出現安裝錯誤,二是安裝在C盤會最大限度地提升GPU速度
在安裝CUDA后,再次在Spyder編輯器中運行該行代碼:
import tensorflow as tf
接下來在右下角的運行結果界面還會出現關于CUDNN的出錯提示,這里如果前面安裝的是CUDA10.0版本及以上,錯誤提示中會顯示安裝CUDNN7.x版本,即ImportError: Could not find 'cudnn64_7.dll'
這時需要在NVIDIA官網中查看具體安裝什么版本的CUDNN,
CUDNN鏈接
(在下載CUDA時僅需要進入官網點擊需要下載的版本即可,而CUDNN的下載必須注冊登錄NVIDIA官網,這個不麻煩,但可能有點卡,慢慢等待即可,之后就可以重新進入頁面搜索CUDNN下載尋找適配的版本即可,這里推薦在尋找好特定版本后在網上找清華源的下載源,速度會快很多,心情也舒暢,)
因為在安裝CUDA以及CUDNN時默認路徑均為系統盤,不要更改,直接選用默認設定即可,對后續檔案遷移也有好處,
2.后續dll檔案問題
在CUDA與CUDNN均安裝完成后,繼續在Spyder編輯器中運行該行代碼:
import tensorflow as tf
如果此時右下角運行視窗沒有出現報錯,那么一個基于CUDA與CUDNN的Tensorflow庫就已經安裝完成了,可以隨意玩耍,
但本人遇到了dll檔案的問題,報錯提示出現OSError,
OSError: [WinError 126] 找不到指定的模塊
這是因為缺少相關dll檔案,dll檔案大部分都是基于C++的元件,在這里可以自行查找所需dll檔案,但這里建議可以直接下載一個常用dll庫檔案壓縮包,免去各種dll檔案缺失的問題,
在正確安裝dll檔案后再次運行下述代碼,(在Tensoflow官網可以找到),
Tensorflow簡單教程
可以發現除了無報錯還運行了一個基于tensorflow的小demo,都是對該庫中簡單函式的應用,
import tensorflow as tf
print(tf.add(1, 2))
print(tf.add([1, 2], [3, 4]))
print(tf.square(5))
print(tf.reduce_sum([1, 2, 3]))
print(tf.square(2) + tf.square(3))
x = tf.matmul([[1]], [[2, 3]])
print(x)
print(x.shape)
print(x.dtype)
以上就完成了基于CUDA與CUDNN的TensorflowGPU版本的安裝,
在之后使用Tensorflow庫時直接就是GPU版本,無需其他操作,但僅對具有復雜張量運算的網路有優勢,簡單網路中CPU與GPU相比性能相似甚至更高,
以上僅個人觀點,如有錯誤還望巨巨指正,不勝感激,
同時如有侵權請及時與本人聯系,將及時處理,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/125992.html
標籤:其他
