從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

孤飛發表於2023-04-14

本文適用於電腦有GPU(顯示卡)的同學,沒有的話直接安裝cpu版是簡單的。CUDA是系統呼叫GPU所必須的,所以教程從安裝CUDA開始。

CUDA安裝

CUDA是加速深度學習計算的工具,誕生於NVIDIA公司,是一個顯示卡的附加驅動。必須使用NVIDIA的顯示卡才能安裝,可以開啟工作管理員檢視自己的硬體裝置。

從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

下載CUDA

簡便起見,可以直接透過我提供的下載連結進行下載(V11.6)

透過這個連結可以下載任意CUDA版本:CUDA Toolkit Archive | NVIDIA Developer

我下載的是這一個:https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_511.65_windows.exe

下載任意版本cuDNN(需要註冊英偉達俱樂部才能直接下載): cuDNN Archive | NVIDIA Developer

我下載的是這一個:https://developer.nvidia.com/compute/cudnn/secure/8.4.1/local_installers/11.6/cudnn-windows-x86_64-8.4.1.50_cuda11.6-archive.zip

推薦使用迅雷進行下載,更詳細的下載教程參考:

cuda安裝 (windows版)_何為xl的部落格-CSDN部落格_windows安裝cuda](https://blog.csdn.net/weixin_43848614/article/details/117221384)

CUDA的版本選擇是跟顯示卡型號有關還是驅動有關?

一般是驅動版本決定了能用的CUDA版本的上限,比如新版的顯示卡驅動可以支援老的CUDA runtime。但是老的顯示卡可能無法更新到最新的顯示卡驅動

安裝CUDA

這邊演示CUDA11.6版本的安裝。注意:30系列的顯示卡必須使用CUDA11.0以上的版本,其他顯示卡既可以使用10也可以使用11版本。

雙擊開啟安裝包(這個路徑就別動了)

CUDA是加速深度學習計算的工具,誕生於NVIDIA公司,是一個顯示卡的附加驅動。必須使用NVIDIA的顯示卡才能安裝,可以開啟工作管理員檢視自己的硬體裝置。這邊演示CUDA11.6版本的安裝。注意:30系列的顯示卡必須使用CUDA11.0以上的版本,其他顯示卡既可以使用10也可以使用11版本。

雙擊開啟安裝包(預設安裝路徑就別修改了)

點選同意並繼續

從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

選擇自定義,點選下一步

從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

這裡可以更改安裝路徑,可以新建2個資料夾,將CUDA DocumentationCUDA Development安裝在一個資料夾CUDASamples安裝在另一個資料夾sample。我是安裝在D盤的,這樣可以節省C盤空間,不過需要記得之後修改環境變數修改為相應檔案目錄。

從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

img

可以使用cmd,輸入:

nvcc -V

檢視CUDA是否安裝成功

用cudnn打補丁

CUDA需要配合cudnn才能正常工作,將cudnn的四個檔案(夾),複製到CUDA的安裝路徑即可,即CUDA資料夾。

將之前下載的壓縮包解壓到CUDA資料夾裡面

從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow 從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

新增環境變數

往系統環境變數中的 path 新增如下路徑(根據自己的路徑進行修改

C:\Program Files\NVIDIA\CUDA\bin
C:\Program Files\NVIDIA\CUDA\include
C:\Program Files\NVIDIA\CUDA\lib
C:\Program Files\NVIDIA\CUDA\libnvvp

環境變數配置結果應當如下:

檢驗:

配置完成後,我們可以驗證是否配置成功,主要使用CUDA內建的deviceQuery.exebandwidthTest.exe
首先win+R啟動cmd,cd到安裝目錄下的 …\extras\demo_suite,然後分別執行.\bandwidthTest.exe.\deviceQuery.exe,應該得到下圖.

cd C:\Program Files\NVIDIA\CUDA\extras\demo_suite
.\bandwidthTest.exe
.\deviceQuery.exe
從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow 從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

CUDA安裝到這裡就全部完成了.

安裝anaconda

官網下載anaconda速度太慢,建議使用映象網站下載,另外不建議下載最新的anaconda版本,預設的base環境是python 3.10,建議下載早一點的版本(22年),安裝沒有其他注意事項,按照預設設定安裝即可。

清華anaconda映象下載網站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

Pytorch安裝

首先前往Pytorch官網查詢適合自己CUDA版本的安裝命令。安裝命令分為conda命令和pip命令,conda命令不能手動新增映象,需要更改配置檔案,在已經安裝好CUDA的基礎上可以直接使用pip命令成功率較高(pip命令網路更好)。

Pytorch下載官網:Previous PyTorch Versions | PyTorch

對於我們安裝的CUDA11.6,在anaconda提供的命令列工具Anaconda Powershell Prompt中輸入以下命令進行安裝

pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

成功安裝後進行檢驗:

python
import torch
torch.cuda.is_available()

如果結果為True那麼證明GPU版本的pytorch已經安裝完成

從零開始配置深度學習環境:CUDA+Anaconda+Pytorch+TensorFlow

TensorFlow安裝

TensorFlow更新速度較慢,安裝命令是通用的,可以嘗試在當前環境直接安裝,如果報錯直接嘗試第二種conda安裝命令。

pip install --ignore-installed --upgrade tensorflow-gpu

但是透過手動安裝的方式可能會遇到許多問題,包括但不限於c++庫有問題.

首先,我想說的是,千萬不要用pip安裝tensorflow-gpu,因為gpu版本需要很多依賴包,包括cuda、cudnn等,而且,就算你單獨去下載這些,安裝後還是會有很多配置問題導致有誤,無法安裝成功,所以直接用conda安裝(這裡留下了一行行淚水)。

tensorflow-gpu完整安裝(附各種報錯解決辦法)_恩澤君的部落格-CSDN部落格

因為conda自帶的安裝源速度特別慢,所以如果你不設定映象源下載幾乎還是安裝不了,中途會自動斷開,這裡我選擇清華映象源,首先開啟anaconda prompt,依次輸入以下四個指令新增映象源。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --show channels

成功率最高的安裝方式是:這一行程式碼安裝基本不會報錯。

conda create -n tensorflow-gpu tensorflow-gpu

安裝完成後進行測試:

conda activate tensorflow-gpu
python
import tensorflow as tf
tf.test.is_gpu_available()

參考文章:

關於國內anaconda映象站點看這一篇就夠啦 - 知乎 (zhihu.com)

已解決error: subprocess-exited-with-error_袁袁袁袁滿的部落格-CSDN部落格

Microsoft C++ 生成工具 - Visual Studio

(1條訊息) Tensorflow-gpu安裝超詳細!!!_tensorflow gpu_東海揚塵_BingO的部落格-CSDN部落格

相關文章