TShopping

 找回密碼
 註冊
搜索
查看: 666|回復: 0
打印 上一主題 下一主題

[教學] (成功) Win10用 Anaconda 建 3070系列的 Tensorflow 深度學習環境

[複製鏈接]
跳轉到指定樓層
1#
發表於 2023-7-7 00:11:54 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook

環境 WIN10 RTX 3070 TI, 3060

配置一覽:

  • Python 3.8, 3.9
  • Nvidia driver 522.25
  • Cuda 11.2(用其他版本在model.fit() GPU RAM會溢出)
  • Cudnn 8.1.1
  • tensorflow-gpu2.5.0

  • Tensorflow-gpu2.4 (keras會出錯)




注意:WIN10版本有可能造成CUDA無法安裝,1909之前可,後來裝不上,後來換22H2就可安裝CUDA了


1. 下載並安裝Visual Studio 2017 2019都可以

為了使Cuda能夠安裝順利,首先需要安裝Visual Studio:

  • 在Visual Studio的官方網站下載「社群版」。
  • 下載後運行.exe檔案進行安裝,安裝選項勾選C++的桌面開發



下載Visual Studio




安裝Visual Studio時勾選「使用C++的桌面開發」

2. 安裝 CUDA 11.2(用自訂義,只ˋ安裝CUDA就好)
  • 到 Nvidia 官方的 CUDA toolkit 下載頁,登入 Nvidia developer 帳號後即可下載所需的 CUDA 11.2。
  • 下載完成後安裝此 .exe 檔案,默認資料夾將位於 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2


如果CUDA 安裝失敗



你可以看到 他是Visual Studio Integration Failed
而其他的則是沒有安裝  所以呢! 我就試試看不要裝 Visual Studio Integration (選自訂安裝 然後把不想裝的勾取消)
神奇的事情發生了 他居然沒跑錯誤訊息!! 也就是我要的他裝進去了
你可以檢查一下 真的有CUDA這個資料夾囉~~~~~

3. 安裝 cuDNN 8.1.1

到 Nvidia 官方的 cuDNN 下載頁,登入 Nvidia developer 帳號後即可下載。須注意 cuDNN 版本為 8.1.1、適合 Windows 的版本。



cudnn下載後解壓縮,並且將解壓縮後的「CUDA」資料夾內的檔案複製到CUDA toolkit 的資料夾內 (C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2)。



4. 加入 CUDA 資料夾到環境變數

觀察以下路徑是否皆已存在系統環境變數內,缺失的路徑自行手動加入,完成後重新開機就大功告成。

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\lib64
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib\x64
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite



直接用CONDA 安裝,參考pytorch
  1. conda install pytorch torchvision torchaudio pytorch-cuda=11.0 -c pytorch -c nvidia
複製代碼




5. 使用 Anaconda建 置虛擬環境

若讀者沒有安裝 Anaconda,請先安裝。待 Anaconda 環境安裝完畢以後,從 Windows 10 開始列,找到 Anaconda3 之下的 Anaconda Prompt後開啟。


win10開始列中的Anaconda Prompt

開啟 Anaconda Prompt 後,輸入以下指令,建立名稱為 py380 的虛擬環境。此虛擬環境將是適用於 Nvidia 30X0 系列顯示卡的深度學習環境。

  1. conda create -n py38 python=3.8.0
複製代碼

安裝完畢以後,使用以下指令啟用剛剛建立的虛擬環境。

  1. conda activate py38
複製代碼
  1. pip install tensorflow-gpu==2.5.0
  2. pip install matplotlib==3.5.2
複製代碼


啟用剛建立的虛擬環境

接著步驟如下:

  • 安裝版本號為「1.19.2」的numpy,這也是實測可用的版本號,高於1.19.2的版本在import時會產生錯誤(一定要記得安裝numpy)。
  • 安裝版本號為「2.5.0」的tensorflow-gpu,此是目前實測可支援Cuda 11.2的版本號。
  1. pip install numpy==1.19.2
複製代碼




測試GPU是否有安裝完成
  1. from tensorflow.python.client import device_lib
  2. print(device_lib.list_local_devices())
複製代碼



執行下列CODE時,發現無法epochs

  1. from tensorflow.python.client import device_lib
  2. import tensorflow as tf

  3. mnist =tf.keras.datasets.mnist
  4. (x_train, y_train),(x_test,y_test)=mnist.load_data()

  5. model =tf.keras.models.Sequential([
  6.     tf.keras.layers.Flatten(input_shape=(28,28)),
  7.     tf.keras.layers.Dense(128,activation='relu'),
  8.     tf.keras.layers.Dropout(0,2),
  9.     tf.keras.layers.Dense(10,activation='softmax')
  10. ])
  11. print(x_train)
  12. model.compile(optimizer='adam',
  13.               loss='sparse_categorical_crossentropy',
  14.               metrics=['accuracy'])

  15. model.fit(x_train, y_train,epochs=5,validation_split=0.2)
  16. model.evaluate(x_test,y_test)
複製代碼


程式正常執行




如果還是不能執行
6. 補齊缺失檔案
  • 非常重要的一步!
  • 非常重要的一步!
  • 非常重要的一步!

當上述步驟都結束以後,筆者興沖沖的打算開 train,卻發現進度緩慢,不禁讓我懷疑起 Rtx 3070 TI的能力。但是定睛一看,Tensorflow 所列出的硬體只有一顆 CPU,換言之 Tensorflow 是使用了 CPU 在做訓練,才這麼慢啊啊啊啊啊啊!

這時出現錯誤訊息
  1. Could not load dynamic library 'cusolver64_10.dll'; dlerror: cusolver64_11.dll not found
複製代碼

於是打開 Conda Prompt 的 log 以後注意到,原來 CUDA 的元件沒有讀取,顯示為「cusolver64_11.dll」這個檔案缺失,所以無法正常使用 GPU 來做訓練,才使用了 CPU。



後來在搜尋答案的過程當中在 reddict 的討論串中找到了解決方案,實際步驟如下:

  • 到路徑「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin」當中找到檔案「cusolver64_10.dll」。
  • 將「cusolver64_10.dll」複製一份,改名為「cusolver64_11.dll」。
  • 大功告成,開 train

7. PyCharm 置入ENV環境PyCharm -> Setting -> Python Interpreter -> Add Interpreter
把ENV環境路徑帶入就可以了



參考文章
https://metai.medium.com/win10-%E7%92%B0%E5%A2%83-%E4%BD%BF%E7%94%A8-anaconda-%E5%BB%BA%E7%BD%AE-rtx-3000-%E7%B3%BB%E5%88%97%E7%9A%84-tensorflow-%E6%B7%B1%E5%BA%A6%E5%AD%B8%E7%BF%92%E7%92%B0%E5%A2%83-9929e2a7c313
https://www.wpgdadatong.com/blog/detail/46041
https://teafatesanya.blog.fc2.com/blog-entry-94.htmlhttps://markjong001.pixnet.net/blog/post/176171019




 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-27 18:54 , Processed in 0.077638 second(s), 25 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表