鏡像下載、域名解析、時間同步請點擊 阿里巴巴開源鏡像站
前言
由於服務器已安裝Anaconda,包含的Python版本為3.8,為使用3.6版本同時避免和其他人互相影響,我選擇創建虛擬環境,並在其中安裝所需的Pytorch1.0.1、opencv、numpy(Anaconda已自帶)、pillow等。
一、創建Python3.6環境
1 創建環境
使用如下命令,其中name為自定義的虛擬環境名。
conda create -n name python=3.6
輸入y,繼續創建。
2 激活環境
使用如下命令激活和退出環境。
conda activate name #激活環境
conda deactivate #退出環境
二、安裝Pytorch1.0.1
1 查詢服務器CUDA和CUDNN版本
在安裝前,我們需要先確定服務器的CUDA和CUDNN版本,從而選擇適配的Pytorch。首先使用如下兩個命令獲取CUDA版本:
nvcc -V #獲取運行API版本
nvidia-smi #獲取驅動API版本
其中運行API版本為一般執行代碼時對應版本,選擇Pytorch時與該API對應,驅動API可以理解為最高能夠使用的版本。
我這里的運行API版本為11.1,因此在選擇時需要選擇同樣或低於11.1版本的Pytorch,具體根據所需Pytorch決定。
下面通過NVIDIA官網(cuDNN Archive | NVIDIA Developer)查詢對應CUDNN版本:
例如,CUDA11.5需要CUDNN8.3.0。
2 添加阿里雲源通道
為了使下載速度更快,這里先添加阿里雲源通道:
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
3 安裝Pytorch
安裝前記得要先激活自己的虛擬環境。安裝命令如下:
conda install pytorch==1.0.1 torchvision==0.2.2 cudatoolkit=10.0 cudnn=7.6.5 -c pytorch
博主這里需要的Pytorch是1.0.1版本,所以在官網(Start Locally | PyTorch)上找了舊版本Pytorch對應的命令(Previous PyTorch Versions | PyTorch),由於里面沒有CUDA11.1所以選擇了10.0,再自己添加的cudnn=7.6.5,該對應版本號就是在上文NIVDIA官網上找到的。
安裝過程中同樣需要輸入y確認繼續進行。
4 確認安裝成功
輸入python查看虛擬環境中的Python版本:
導入Pytorch並查看版本:
import torch
print(torch.__version__)
查看GPU是否可用:
print(torch.cuda.is_available())
三、安裝opencv、numpy、pillow
1 opencv
在這里我使用的是pip安裝,因為使用conda安裝出錯,或者安裝成功后導入時提示沒有cv2模塊,具體原因不清楚,上網搜索后按照其他方法也未能解決,大家若有經驗可評論分享一下。
pip install opencv-python
該命令會安裝最新版opencv,需要舊版本可以再上網搜索具體方式。安裝后輸入python進入Python環境,導入opencv驗證是否成功:
import cv2
cv2.__version__
若未提示沒有cv2模塊則成功。
2 numpy
由於Anaconda自帶了numpy,所以我這里沒有下載,若有需要大家可以再搜索具體方法。
import numpy
若導入未報錯則成功。
3 pillow
同樣在創建虛擬環境時,pillow已經被安裝,若需要則按照下面命令即可:
pip install pillow
import PIL #驗證安裝
若未報錯則成功安裝。
注:以上安裝命令均是在虛擬環境中執行,而驗證安裝是否成功需要進入Python中測試。
總結
以上是在Ubuntu20.04服務器上已安裝Anaconda的情況下,創建Python3.6虛擬環境、安裝Pytorch1.0.1並安裝opencv、numpy、pillow等的具體步驟,都已實際測試成功。
原文鏈接:https://blog.csdn.net/VGuan07/article/details/121650128