拿到一個新的容器之後,怎麼建立一個獨立的GPU訓練環境呢?之前弄的時候總是零零散散的,現在把它總結在這裡,供自己以及有需要的朋友查閱。
1. conda建立
1.1 下載下傳anaconda
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.07-Linux-x86_64.sh
具體的anaconda版本可以從這裡擷取,找到自己想要的版本,右擊複制連結即可。
1.2 安裝anaconda
bash Anaconda3-2020.07-Linux-x86_64.sh
1.3 測試anaconda是否安裝成功
conda --version
如果顯示具體版本則安裝成功;
如果顯示:bash: conda: command not found…;則執行一下步驟:
export PATH=~/anaconda3/bin:$PATH
source ~/.bashrc
1.4 更新conda(非必須)
conda update -n base conda
2. Python虛拟環境建立
2.1 檢視目前存在哪些環境
2.2 建立新的虛拟環境
conda create -n your_env_name python=X.X(2.7、3.6等)
2.3 激活虛拟環境
在你使用環境之前,需要激活:
conda activate your_env_name
PS:在我們的任務中,執行到2.3即可,下述操作為Python虛拟環境下的一些操作方法,一并記錄,内容參考自:[安裝教程] linux建立conda虛拟環境
2.4 安裝Python包
conda(或pip) install package_name
如果你建立的是python3.x的環境,也直接使用pip,不要使用pip3。因為此時的pip3可能會直接安裝至你的系統環境裡。
2.5 删除Python包
conda remove package_name (pip uninstall package_name)
2.6 關閉虛拟環境
虛拟環境使用完,需要關閉
conda deactivate
2.7 删除虛拟環境
2.8 共享環境包
将目前使用的環境中所包含的python包的名稱進行打包
conda env export > 檔案名.yaml
2.9 載入别人共享的環境包
conda env create -f 檔案名.yaml
3. tensorflow GPU環境搭建
安裝之前,首先要明确tensorflow,cuda,cudnn之間的版本關聯,同時驅動版本也要滿足要求(可通過nvidia-smi檢視驅動版本,驅動版本對于cuda向下相容)
可通過tensorflow版本關聯檢視對應的關聯關系,如下圖:
【本文以tf1.14-cuda10.0.0-cudnn7.4為例】
3.1 安裝cuda
3.2 安裝cudnn
報錯如下:
PackagesNotFoundError: The following packages are not available from current channels:
- cudnn=7.4
Current channels:
- https://repo.anaconda.com/pkgs/main/linux-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/linux-64
- https://repo.anaconda.com/pkgs/r/noarch
目前conda源中并沒有cudnn7.4版本。
是以,搜尋 conda 源中可用的版本号:
conda search cudnn
得到結果如下:
可以看到,cudnn7.6.5同樣支援cuda10.0.0,是以,直接安裝cudnn7.6.5
3.3 安裝tensorflow
3.4 檢查tensorflow gpu版本是否可用
import tensorflow as tf
print(tf.test.is_gpu_available())
傳回結果為True表示tensorflow gpu版本可用:
3.5檢視cuda,cudnn版本
整個安裝過程到3.4就結束了,這一步非安裝必須,供參考如何檢視cuda,cudnn版本
import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
參考:
[安裝教程] linux建立conda虛拟環境
TensorFlow 安裝與環境配置