win10 安裝CUDA、cudnn、tensorflow-gpu
本文環境:
CUDA 10.0、cudnn 7.5.0、python 3.6 、tensorflow-gpu 1.13.1 、keras 2.1.5、kiwisolver 1.3.0、matplotlib3.3.2、 protobuf 3.6.0、numpy 1.16.0
以上版本為本文測試過得相容版本號。例如protobuf目前預設是3.13.0,是無法與tensorflow-gpu 1.13.1相容的。anaconda提示tensorflow-gpu 1.13.1所需的protobuf最低為3.6.1,經測試,3.6.1與tensorflow-gpu不相容。protobuf改為3.6.0才可以
本文主要參考連結:windows10下CUDA10.0環境配置
1.刪除原有的CUDA
參考連結:
重啟電腦,進入安全模式。
刪除系統盤中Program Files (x86)和Program Files內包含的
NVIDIA Corporation和NVIDIA GPU Computing Toolkit資料夾
重啟電腦,進入正常模式
2.安裝CUDA 10.0
下載CUDA 10.0
https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
一路下一步即可,軟體已經自動幫我們配置好了環境變數
3.下載cuDNN 7.5.0
-
https://developer.nvidia.com/rdp/cudnn-download 需要註冊
-
登入後選擇對應CUDA版本的cuDNN安裝
Archived cuDNN Releases -> cuDNN7.5.0 -> windows 10
-
下載後解壓,將cuDNN得到的cuda資料夾bin ,lib,include資料夾 複製合併到到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 中的bin ,lib,include
然後CUDA環境安裝就大功告成了
4.安裝tensorflow-gpu-1.13.1 及keras 2.1.5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.13.1
pip install keras==2.1.5
檢查TensorFlow版本以及GPU是否可用
import tensorflow as tf
from tensorflow.python.client import device_lib
# 列出所有的本地機器裝置
local_device_protos = device_lib.list_local_devices()
# 列印
#print(local_device_protos)
# 只列印GPU裝置
[print(x) for x in local_device_protos if x.device_type == 'GPU']
print("TensorFlow版本:",tf.__version__)
會輸出GPU資訊
5.安裝其它附加包
注意以下包是需要保證版本相容,即便此時環境裡已經存在該附加包,但可能出現不相容問題,所以需要安裝相容的版本
pip install numpy==1.16.0
pip install pillow
接下來是踩得幾個坑:
-
from google.protobuf.pyext import _message ImportError: DLL load
failed:找不到指定的模組
解決辦法:更換為 protobuf 3.6.0即可(pip install protobuf==3.6.0)protobuf目前預設版本是3.13.0,是無法與tensorflow-gpu 1.13.1相容的。anaconda提示tensorflow-gpu 1.13.1所需的protobuf最低為3.6.1,經測試,3.6.1與tensorflow-gpu不相容。protobuf改為3.6.0才可以
參考連結:from google.protobuf.pyext import _message,使用tensorflow出現 ImportError: DLL load failed
-
FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated
解決辦法:numpy1-17-0版本過高,使用numpy-1.16-0版本即可
pip install numpy==1.16.0 -
pip install matplotlib報錯, Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio"
參考連結:error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studi解決方案
解決辦法:進入Unofficial Windows Binaries for Python Extension Packages
Ctrl + f 搜尋你需要的模組,例如我需要matplotlib
點選進入matplotlib
我選擇的是紅框的這個,因為我的python是3.6,64位,選擇了版本較高的matplotlib 3.2.2
下載完成後找到whl檔案的路徑,可以直接拖到終端裡,執行:
我在安裝過程中還遇到了kiwisolver版本不相容的問題,經過測試,kiwisolver 1.3.0版本相容。在安裝kiwisolver時也遇到了和matplotlib同樣的問題,按照上述方法下載whl檔案後,直接安裝即可解決問題。
- AttributeError: ‘str’ object hasAttributeError: ‘str’ object has no attribute ‘decode’ no attribute 'decode’
TypeError: a bytes-like object is required, not 'str’
解決辦法: - 降低h5py版本。pip install h5py==2.10.0
網上很多說是“python3.5和Python2.7在套接字返回值解碼上有區別:python bytes和str兩種型別可以通過函式encode()和decode()相互轉換”。
但經過測試,用這種方法還是解決不了問題,最後發現通過降低h5py版本可以解決此問題。
6.GPU視訊記憶體問題
訓練過程中可能出現視訊記憶體不夠用的問題,這個問題網上說法都是控制分配給GPU的視訊記憶體,如:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
但我所用的GPU為NVIDIA GeForce GT 720,視訊記憶體只有1G。通過加入以上程式碼仍未解決問題。
最後發現可以將pycharm所有工程都關閉,包括anaconda終端。再開啟工程即可正常訓練,原因應該是別的工程也使用過此環境,可能仍佔有一定的GPU資源,雖然在工作管理員並沒有顯示佔用。
相關文章
- Ubuntu 安裝 tensorflow-gpu 1.4 +CUDA 8.0 +cuDNN詳細教程UbuntuGPUDNN
- linux安裝cuda和cudnnLinuxDNN
- cuda16.4安裝cudnnDNN
- Win10系統 64位 安裝Tensorflow-gpu/pytorch(VS2017+CUDA9.2+cuDNN7.1.4+python3.6.5)Win10GPUPyTorchDNNPython
- ubuntu16.04 CUDA, CUDNN 安裝UbuntuDNN
- Windows安裝CUDA 12.1及cudnnWindowsDNN
- win10安裝VS2015+CUDA9.0與tensorflow-gpuWin10GPU
- 官方查詢tensorflow-gpu對應的cuda和cudnn版本GPUDNN
- 純淨Ubuntu16安裝CUDA(9.1)和cuDNNUbuntuDNN
- Anaconda3+python+cuda+cudnn+pytorch+torchvision安裝包PythonDNNPyTorch
- 【TensorFLow】Ubuntu16.04安裝CUDA8.0+cuDNN6.0+TensorFlowUbuntuDNN
- 【PyTorch】n卡驅動、CUDA Toolkit、cuDNN全解安裝教程PyTorchDNN
- Windows10上CUDA9.0+CUDNN7.0.5的完美安裝教程WindowsDNN
- ubuntu22.0.4下CUDA12.1和cuDNN8.9.1的安裝UbuntuDNN
- Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安裝(Ubuntu16)DNNUbuntu
- tensorflow-gpu 安裝GPU
- Win10安裝CUDA 10.2Win10
- Ubuntu16.04下安裝CUDA9.0和CUDNN7.0填坑UbuntuDNN
- miniconda Pytorch CUDA Cudnn onnxruntimePyTorchDNN
- Ubuntu下使用conda在虛擬環境中安裝CUDA、CUDNN及TensorflowUbuntuDNN
- docker安裝tensorflow-gpuDockerGPU
- CUDA和CUDNN版本切換DNN
- cuda安裝教程
- TensorFlow-GPU安裝避坑指南GPU
- gtx750安裝tensorflow-gpuGPU
- 【Windows 開發環境配置——NVIDIA 篇】CUDA、cuDNN、TensorRT 三件套安裝Windows開發環境DNN
- kaldi+cuda安裝
- Ubuntu下安裝CUDAUbuntu
- 【浪子男孩】TensorFlow-GPU版本安裝教程GPU
- Ubuntu16.04+cuda8.0+cudnn6.0+tensorflow1.3UbuntuDNN
- windows10下安裝python3.7.1,cuda10.0和cudnn7.6.4,tensorflowgpu1.15,kears2.3.1WindowsPythonDNNGPU
- cuda歷史版本和cudnn的下載地址DNN
- Linux系統下CUDA和cuDNN環境配置LinuxDNN
- 【深度學習】檢測CUDA、cuDNN、Pytorch是否可用深度學習DNNPyTorch
- opencv4.5 帶cuda 安裝OpenCV
- 如何檢視安裝的CuDNN 版本以及如何升級到CuDNN-8.5DNN
- Windows下dlib庫python安裝(CUDA)WindowsPython
- cuda在ubuntu的安裝使用分享Ubuntu