tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

【tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比】tensorflow1.0和tensorflow2.0的區別主要是1.0用的靜態圖
一般情況1.0已經足夠 , 但是如果要進行深度神經網絡的訓練,當然還是tensorflow2.*-gpu比較快啦 。
其中tensorflow有CPU和GPU兩個版本(2.0安裝方法),
CPU安裝比較簡單:
pip install tensorflow-cpu一、查看顯卡日常CPU足夠,想用GPU版本 , 要有NVIDIA的顯卡,查看顯卡方式如下:

tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
二、查看版本對應關系然后我們需要去下載NVIDIA驅動CUDA以及支持神經網絡訓練的CUDNN模塊:(重點,其中需要查看自己NVIDIA版本 Python版本 CUDNN版本是否匹配)
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
下載CUDA:https://developer.nvidia.com/cuda-11.3.0-download-archive
三、安裝cudnnCUDA安裝完畢后 , 需要安裝支持神經網絡訓練的CUDNN模塊,下載 cuDNN , 下載之前需要先注冊一下 Nvidia 的賬號,下載地址為:https://developer.nvidia.com/rdp/cudnn-download
下載完成之后將其解壓,解壓之后的目錄如下:
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
需要將以上三個文件復制到CUDA的安裝目錄中 , 通過上面的安裝,我們將CUDA安裝到了C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3中 。
四、安裝anaconda安裝Anaconda:
然后最好是使用anaconda安裝tensorflow,先去安裝anaconda,詳細教程傳送門:https://blog.csdn.net/fan18317517352/article/details/123035625
其實如果不想麻煩的配置環境變量,可以在安裝Anaconda過程中選擇JUST ME,然后將Anaconda加入環境變量 。
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
然后直接就可以在anaconda里選擇tensorflow-gpu進行安裝,安裝完畢后 , 查看能否支持gpu:
import osimport tensorflow as tfprint(tf.test.is_gpu_available())gpus = tf.config.list_physical_devices('GPU')cpus = tf.config.list_physical_devices('CPU')print(gpus, cpus)from tensorflow.python.client import device_libprint(device_lib.list_local_devices())如果輸出如下,則說明可以使用GPU
(注意,真的只是可以使用,不代表可以用了 , 自己體會 , 我曾經被坑了好久):
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
五、測試(重點干貨來了)import os# 指定使用0卡os.environ["CUDA_VISIBLE_DEVICES"] = "0"如果提示缺少dll文件,去這個網址找:https://cn.dll-files.com/cudart64_110.dll.html 缺啥找啥,看鏈接后綴
然后訓練模型 , 發現只能訓練前饋神經網絡,速度還很慢,訓練深度網絡時,直接內存不足 , 但原因可能是由于缺少文件:
Process finished with exit code -1073740791 (0xC0000409)
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
解決辦法:Pycharm中 , 點擊RUN-EDIT CONFIGURATIONS , 輸出錯誤信息
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
發現缺少文件:
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
下載zlib并且解壓
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
dll放到cuda安裝目錄的bin里,lib放到cuda安裝目錄的lib文件夾下,然后開始訓練 , 你會發現用GPU真香
CPU耗時:
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
GPU耗時:
tensorflow-gpu版本安裝及深度神經網絡訓練與cpu版本對比

文章插圖
切換CPU GPU 只要切換設備就行了,我只進行了2epoch的卷積訓練,可以看到GPU速度要比CPU快個4 5 倍左右,如果是前饋神經網絡或者簡單的神經網絡,測試驗證使用CPU是被GPU要快的 , 所以自己需要根據實際情況切換設備 。
需要zlib文件的可以給我留言 。

    推薦閱讀