# 確定環境內容 ### 有無NVIDIA-GPU 查看方法: 開啟裝置管理員>找到顯示卡>展開 <font color="#f00">**注意:內顯≠NVIDIA-GPU**</font> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:80%;" src="https://hackmd.io/_uploads/SJJizLH7gg.png" /> ### 有CUDA支援的GPU https://developer.nvidia.com/cuda-gpus ※ 目前算力要求須達 6.0 以上 ### 有對外連網的功能 ( 有線/ 無線皆可 ) ### NVIDIA GPU Driver (<font color="#f00">有 NIVIDIA GPU 的話要安裝</font> ) 打開cmd窗口, 輸入: ``` nvidia-smi ``` 出現類似以下畫面 ( GPU訊息 ) 即表示 OK 若沒有出現, <font color="#f00">請參考 [**其他問題排除**](#其他問題排除)</font> ![image](https://hackmd.io/_uploads/S1taX8BQel.png) ## 有GPU環境 ### 一、安裝環境套件 (依序安裝) #### 0. Anaconda ##### 兩種下載方法 * 從[**雲端懶人包**](https://leda-office.seadeep.ai/d/s/14NqeVRsGj9VjATVEnEIzR6VZBZNpGzT/aBYAlDoqQwMjPqrtJfBXCdyo33tpLAM1-0LLA6h-reAw)中下載**Anaconda3-2020.02.-Windows-x86_64.exe** <small>※ 密碼為 NAS 登入密碼</small> * 從 [**Anaconda 官方**](https://repo.anaconda.com/archive/)下載: <small>※選擇穩定版本 Anaconda3-2020.02.-Windows-x86_64.exe</small> ![image](https://hackmd.io/_uploads/SkZJ4LBmlg.png) ##### 安裝設定 記得勾選加入環境變數 <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/SyLb_DS7xl.png" /> <img style="display:block;margin:100px right;padding:1px;border:1px #eee;width:65%;" src="https://hackmd.io/_uploads/ryJ4UDHXel.png" /> 安裝後確認是否成功,開啟命令提示字元並輸入以下指令: ``` conda ``` 有出現相關資訊如下圖即表示成功![image](https://hackmd.io/_uploads/ByW3uUSQxx.png) #### 1. NVIDIA GPU Driver 根據顯示卡型號,自行至 NVIDIA 官網下載對應型號的驅動程式並安裝 ( 若已安裝就可以跳過此步驟 ) <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/SklUY8HXle.png" /> #### 2. NVIDIA CUDA Toolkit ##### 兩種下載方法 * 從[**雲端懶人包**](https://leda-office.seadeep.ai/d/s/14NqeVRsGj9VjATVEnEIzR6VZBZNpGzT/aBYAlDoqQwMjPqrtJfBXCdyo33tpLAM1-0LLA6h-reAw)**下載**cuda_11.3.1_win10_network.exe <small>※ 密碼為 NAS 登入密碼</small> ![image](https://hackmd.io/_uploads/SkhVcm1Oxx.png) * 從 [**NVIDIA CUDA 官方**](https://developer.nvidia.com/cuda-toolkit-archive)下載 <small>※選擇穩定版本 ( 11.3.1 ) 下載並依照指示安裝</small> ![image](https://hackmd.io/_uploads/HyCIcQk_ee.png) ##### 安裝設定 <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/HJM8mPBXee.png" /> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/ryqeqPr7ge.png" /> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/rkIPYPSQgl.png" /> #### 3. NVIDIA cuDNN ##### 兩種下載方法 * 從[**雲端懶人包**](https://leda-office.seadeep.ai/d/s/14NqeVRsGj9VjATVEnEIzR6VZBZNpGzT/aBYAlDoqQwMjPqrtJfBXCdyo33tpLAM1-0LLA6h-reAw)下載 **cudnn-windows-x86_64-8.9.0.131_cuda11-archive** 資料夾 <small>※ 此為 8.9.0 版本</small> <small> ※ 密碼為 NAS 登入密碼</small> * 從 [**NVIDIA cuDNN 官方**](https://developer.nvidia.com/rdp/cudnn-archive) <font color="#f00">選擇對應的CUDA 版本並下載 </font> <small>※ 需要帳號登入,若沒有帳號可以先免費註冊</small> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/HktEjwr7xx.png" /> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/HkZ8jDS7ge.png" /> ##### 安裝設定 * 將下載的 cuDNN 壓縮檔解壓縮 * 將 lib\x64 資料夾下的所有檔案複製到以下路徑資料夾內 `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\xxxx\lib\x64` * 將 include 資料夾下的所有檔案複製到以下路徑資料夾內 `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\xxxx\include` * 將 bin 資料夾下的所有檔案複製到以下路徑資料夾內 `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\xxxx\bin` <font color="#f00">※ xxxx = cuda版本 ( ex: 安裝 cuda 11 會顯示 v11.3 )</font> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:80%;" src="https://hackmd.io/_uploads/H1oEpDB7xl.png" /> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/BJ7ohDSXxx.png" /> 官方安裝流程參考: https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-windows * 安裝後確認是否成功,開啟命令提示字元並輸入以下指令: ``` nvcc -V ``` * 出現以下訊息即表示成功 <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/SkSbRPSQlg.png" /> ### 二、安裝開發套件 #### ◼ 創建虛擬環境 * 開啟命令提示字元視窗,並輸入以下指令創建虛擬環境 `conda create --name`<font color="#f00"> leda</font> `python=3.8` <font color="#f00">※ 紅字部分 = 虛擬環境名稱,可自行定義 ( 英數為主不含符號、空格 )</font> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/rkTnbdBXll.png" /> * 按照指示輸入`y`同意下載所需套件,並等待套件下載與安裝 * 完成後會出現 “**done**”字樣 * 輸入以下指令進入虛擬環境,若成功進入在前端會出現“**(leda)**” ``` conda activate leda ``` <font color="#f00">※ leda = 虛擬環境名稱</font> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/H16NGdSmgx.png" /> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/HkcFz_HQge.png" /> #### ◼ Pytorch * 進入 [**Pytorch 官方**](https://pytorch.org/get-started/previous-versions/) * 找到穩定版本 ( 1.9.1 ) * 複製對應的 CUDA 版本指令 ( 若按照雲端懶人包, 請選擇 # CUDA 11.1 ) ``` pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html ``` ![image](https://hackmd.io/_uploads/BkAsVur7xe.png) * 開啟命令提示字元視窗,使用: ``` conda activate leda ``` 指令進入到虛擬環境 ( 若之前測試的沒關可以直接沿用) ![image](https://hackmd.io/_uploads/S1p6Vurmll.png) * 在命令提示字元視窗內輸入想要的版本安裝指令 #CUDA 11.1 ( 雲端懶人包指定版本 ) ``` pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html ``` * 按照指示輸入`y`同意下載所需套件,並等待套件下載與安裝 ![image](https://hackmd.io/_uploads/B1HXB_r7ge.png) #### ◼ Python 相關套件 * 從[**雲端懶人包**](https://leda-office.seadeep.ai/d/s/14NqeVRsGj9VjATVEnEIzR6VZBZNpGzT/aBYAlDoqQwMjPqrtJfBXCdyo33tpLAM1-0LLA6h-reAw)下載 requirements.txt <small> ※ 密碼為 NAS 登入密碼</small> ![image](https://hackmd.io/_uploads/rJy4wOBmle.png) * 開啟命令提示字元視窗,使用: ``` conda activate leda ``` 指令進入到虛擬環境 (若之前測試的沒關可以直接沿用) ![image](https://hackmd.io/_uploads/Skd5XSfLll.png) * 將剛才下載的 requirements.txt 移動至命令提示字元上顯示的路徑 * 以圖中為例,路徑為:`C:\Users\Administrator` * 在命令提示字元視窗內輸入安裝指令 ``` pip install –r requirements.txt ``` ![image](https://hackmd.io/_uploads/HJqCQHGLel.png) <font color="#f00">※ 如果發生錯誤請參考[其他問題排除](#其他問題排除)</font> ### 三、檢查環境 #### ◼ CUDA • 開啟命令提示字元視窗並輸入以下指令, 有出現下方資訊即表示正常: ``` nvcc -V ``` ![image](https://hackmd.io/_uploads/S1C5zjSUgl.png) #### ◼ Pytorch • 開啟命令提示字元視窗並輸入以下指令, 有出現右方資訊即表示正常 先輸入 ``` python ``` 再輸入 ``` import torch ``` 再輸入 ``` torch.cuda.is_available() ``` ![image](https://hackmd.io/_uploads/BJP6MsHIge.png) 出現 True 即表示正常 <font color="#f00">※ 若出現 False, 請通知相關人員</font> ## 無GPU環境 ### 一、安裝環境套件 (依序安裝) #### 0. Anaconda * 安裝後確認是否成功,開啟命令提示字元並輸入以下指令: ``` conda ``` * 有出現相關資訊如下圖即表示成功![image](https://hackmd.io/_uploads/ByW3uUSQxx.png) ### 二、安裝開發套件 #### ◼ 創建虛擬環境 * 開啟命令提示字元視窗,並輸入以下指令創建虛擬環境 `conda create --name` <font color="#f00">leda</font> `python=3.8` <font color="#f00">※ 紅字部分 = 虛擬環境名稱,可自行定義 ( 英數為主不含符號、空格 )</font> ![image](https://hackmd.io/_uploads/r1HRNjBIlx.png) * 按照指示輸入`y`同意下載所需套件,並等待套件下載與安裝 * 完成後會出現 “**done**”字樣 * 輸入以下指令進入虛擬環境,若成功進入在前端會出現“**(leda)**” ``` conda activate leda ``` <font color="#f00">※ leda = 虛擬環境名稱</font> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/H16NGdSmgx.png" /> <img style="display:block;margin:20px right;padding:1px;border:1px #eee;width:50%;" src="https://hackmd.io/_uploads/HkcFz_HQge.png" /> #### ◼ Pytorch * 進入 [**Pytorch 官方**](https://pytorch.org/get-started/previous-versions/) * 找到穩定版本 ( 1.9.1 ) * 選擇對應的 CPU 版本指令 ![image](https://hackmd.io/_uploads/r11kUjBIxe.png) * 開啟命令提示字元視窗,使用: ``` conda activate leda ``` 指令進入到虛擬環境 ( 若之前測試的沒關可以直接沿用) ![image](https://hackmd.io/_uploads/rkM_LirLlx.png) * 在命令提示字元視窗內輸入想要的版本安裝指令 #CPU only ``` pip install torch==1.9.1+cpu torchvision==0.10.1+cpu torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html ``` * 按照指示輸入`y`同意下載所需套件,並等待套件下載與安裝 ![image](https://hackmd.io/_uploads/S1nYUjBLll.png) #### ◼ Python 相關套件 * 從[**雲端懶人包**](https://leda-office.seadeep.ai/d/s/14NqeVRsGj9VjATVEnEIzR6VZBZNpGzT/aBYAlDoqQwMjPqrtJfBXCdyo33tpLAM1-0LLA6h-reAw)下載 requirements.txt <small> ※ 密碼為 NAS 登入密碼</small> ![image](https://hackmd.io/_uploads/rJy4wOBmle.png) * 開啟命令提示字元視窗,使用: ``` conda activate leda ``` 指令進入到虛擬環境 (若之前測試的沒關可以直接沿用) ![image](https://hackmd.io/_uploads/Skd5XSfLll.png) * 在命令提示字元視窗內輸入安裝指令 ``` pip install –r requirements.txt ``` ![image](https://hackmd.io/_uploads/HJqCQHGLel.png) <font color="#f00">※ 如果發生錯誤請參考 [**其他問題排除**](#其他問題排除)</font> ### 三、檢查環境 #### ◼ Pytorch • 開啟命令提示字元視窗並輸入以下指令, 有出現下方資訊 ( x.x.x+cpu ) 即表示正常 先輸入 ``` python ``` 再輸入 ``` import torch ``` 再輸入 ``` print(torch.__version__) ``` ![image](https://hackmd.io/_uploads/ry7hPsHLll.png) # 其他問題排除 ## 其他問題排除 – nvidia-smi 沒反應 <font color="#f00">※ 若出現 **'nvidia-smi' 不是內部或外部命令、可執行的程式或批次檔** 錯誤</font> 可能原因: 1. 還未安裝 NVIDIA-GPU Driver → 安裝NVIDIA-GPU Driver, 可參照 [NVIDIA cuDNN](#3-NVIDIA-cuDNN) 2. 未將 NVIDIA-SMI 加入到環境變數 → 參照以下: 因為它找不到該命令。這個檔是一個exe檔,一般都在下面這個文件夾中。 `C:\Program Files\NVIDIA Corporation\NVSMI` 所以想要使用該命令必須要能得到這個文件夾,才能執行。以下辦法可以解決: [**添加路徑於環境變數**] 在系統環境變數的 path 添加上面的路徑,就可以訪問到這個命令,就可以執行了。 以下為步驟解說: 打開系統上的”**編輯環境變數**” ( 可以直接”開始”功能輸入搜尋 ) ![image](https://hackmd.io/_uploads/BkWQdjSLel.png) ![image](https://hackmd.io/_uploads/H1XiuoSLgl.png) ## 其他問題排除 – 套件包找不到檔案 ※ 注意命令提示字元視窗路徑要在 requirements.txt 檔案路徑 → 可將檔案放在路徑下,或是在路徑下開啟命令提示字元視窗 ![image](https://hackmd.io/_uploads/ByR0_jH8ge.png) ![image](https://hackmd.io/_uploads/rks1KiHUgl.png) ![image](https://hackmd.io/_uploads/Hy3lFjBIlx.png) ## 其他問題排除 – OMP: Error #15 網上查找相關解決方案,一般採用以下方式: ``` import os os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE ``` 本問題出現主要是因為torch包中包含了名為 libiomp5md.dll 的檔,與 Anaconda 環境中的同一個檔出現了某種衝突,所以需要刪除一個。 1.刪除 Anaconda 資料夾下的 libiomp5md.dll 這個檔 2.但如果是在某個 python 環境下,則需要刪除的是該環境下的對應檔。 也就是: * 如果在 Anaconda 的 base 環境下: 刪除 `..\Anaconda3\Library\bin\libiomp5md.dll` * 如果是在某個env(例如名為work)下: 刪除 `..\Anaconda3\envs\****\Library\bin\libiomp5md.dll` ———————————————— 原文連結:https://blog.csdn.net/weixin_55593481/article/details/123617710