WSL2笔记4 PyTorch深度学习框架的多环境CUDA安装配置
1、 Conda多环境下的不同CUDA版本实现
1.1 实现思路
1.1.1 根环境(base)安装最新独立版本CUDA ToolKit工具包
NVIDIA CUDA ToolKit
https://developer.nvidia.com/cuda-downloads
安装与显卡驱动匹配的最新版本CUDA ToolKit
详见【WSL2笔记2】 搭建深度学习开发环境
https://blog.youkuaiyun.com/fuweipeng2012/article/details/129980680
1.1.2 在不同的Python虚拟子环境,根据需求,安装相应版本的CUDA和cuDDN
conda install cudatoolkit=版本号
Conda 安装的CUDA ToolKit 包含了CUDA和cuDDN
Conda虚拟环境调用的是子环境下的CUDA ToolKit的CUDA/cuDDN,不是调用根环境版本的CUDA工具包
虚拟子环境CUDA ToolKit版本一定要低于本机根环境的独立CUDA版本
2、 Python 3.10 + PyTorch 2.0.0 + CUDA 11.8
2.1 创建Python310环境
创建
conda create -n py310 python=3.10
激活
conda activate py310
(base) xf@VP01:~/ai/env$ conda create -n py310 python=3.10
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/xf/anaconda3/envs/py310
added / updated specs:
- python=3.10
The following packages will be downloaded:
package | build
---------------------------|-----------------
certifi-2022.12.7 | py310h06a4308_0 150 KB defaults
pip-23.0.1 | py310h06a4308_0 2.6 MB defaults
python-3.10.10 | h7a1cb2a_2 26.9 MB defaults
setuptools-65.6.3 | py310h06a4308_0 1.2 MB defaults
tzdata-2023c | h04d1e81_0 116 KB defaults
wheel-0.38.4 | py310h06a4308_0 64 KB defaults
------------------------------------------------------------
Total: 31.0 MB
The following NEW packages will be INSTALLED:
_libgcc_mutex anaconda/pkgs/main/linux-64::_libgcc_mutex-0.1-main
_openmp_mutex anaconda/pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu
bzip2 anaconda/pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0
ca-certificates anaconda/pkgs/main/linux-64::ca-certificates-2023.01.10-h06a4308_0
certifi anaconda/pkgs/main/linux-64::certifi-2022.12.7-py310h06a4308_0
ld_impl_linux-64 anaconda/pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1
libffi anaconda/pkgs/main/linux-64::libffi-3.4.2-h6a678d5_6
libgcc-ng anaconda/pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1
libgomp anaconda/pkgs/main/linux-64::libgomp-11.2.0-h1234567_1
libstdcxx-ng anaconda/pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1
libuuid anaconda/pkgs/main/linux-64::libuuid-1.41.5-h5eee18b_0
ncurses anaconda/pkgs/main/linux-64::ncurses-6.4-h6a678d5_0
openssl anaconda/pkgs/main/linux-64::openssl-1.1.1t-h7f8727e_0
pip anaconda/pkgs/main/linux-64::pip-23.0.1-py310h06a4308_0
python anaconda/pkgs/main/linux-64::python-3.10.10-h7a1cb2a_2
readline anaconda/pkgs/main/linux-64::readline-8.2-h5eee18b_0
setuptools anaconda/pkgs/main/linux-64::setuptools-65.6.3-py310h06a4308_0
sqlite anaconda/pkgs/main/linux-64::sqlite-3.41.1-h5eee18b_0
tk anaconda/pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0
tzdata anaconda/pkgs/main/noarch::tzdata-2023c-h04d1e81_0
wheel anaconda/pkgs/main/linux-64::wheel-0.38.4-py310h06a4308_0
xz anaconda/pkgs/main/linux-64::xz-5.2.10-h5eee18b_1
zlib anaconda/pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate py310
#
# To deactivate an active environment, use
#
# $ conda deactivate
(base) xf@VP01:~/ai/env$ conda activate py310
(py310) xf@VP01:~/ai/env$
2.2 安装PyTorch200 GPU版本
2.2.1 官网链接
PyTorch最新版
https://pytorch.org/get-started/locally/
Lunix系统PyTorch CUDA 对Python版本的要求 >= Python 3.7
Installing on Linux
PythonPython 3.7 or greater is generally installed by default on any of our supported Linux distributions, which meets our recommendation.
Win系统PyTorch CUDA 对Python版本的要求 >= Python 3.7 <= Python 3.9
Installing on Windows
PythonCurrently, PyTorch on Windows only supports Python 3.7-3.9; Python 2.x is not supported.
2.2.2 Conda安装方法
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
package | build
-----------------------------|-----------------
> pytorch-2.0.0 | py3.10_cuda11.8_cudnn8.7.0_0 1.41 GB pytorch
...
> torchaudio-2.0.0 | py310_cu118 7.5 MB pytorch
...
> torchvision-0.15.0 | py310_cu118 8.0 MB pytorch
在安装包列表中了解即将安装的是否CUDA版本, 第2列版本build中带_cu118,说明是CUDA加速版本
(py310) xf@VP01:~/ai/env$ conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/xf/anaconda3/envs/py310
added / updated specs:
- pytorch
- pytorch-cuda=11.8
- torchaudio
- torchvision
The following packages will be downloaded:
package | build
---------------------------|-----------------
blas-1.0 | mkl 6 KB defaults
brotlipy-0.7.0 |py310h7f8727e_1002 712 KB defaults
cffi-1.15.1 | py310h5eee18b_3 243 KB defaults
cryptography-39.0.1 | py310h9ce1e76_0 1.4 MB defaults
filelock-3.9.0 | py310h06a4308_0 18 KB defaults
flit-core-3.8.0 | py310h06a4308_0 84 KB defaults
gmpy2-2.1.2 | py310heeb90bb_0 517 KB defaults
idna-3.4 | py310h06a4308_0 97 KB defaults
jinja2-3.1.2 | py310h06a4308_0 215 KB defaults
markupsafe-2.1.1 | py310h7f8727e_0 34 KB defaults
mkl-service-2.4.0 | py310h7f8727e_0 177 KB defaults
mkl_fft-1.3.1 | py310hd6ae3a3_0 567 KB defaults
mkl_random-1.2.2 | py310h00e6091_0 1009 KB defaults
mpmath-1.2.1 | py310h06a4308_0 769 KB defaults
networkx-2.8.4 | py310h06a4308_1 2.7 MB defaults
numpy-1.23.5 | py310hd5efca6_0 10 KB defaults
numpy-base-1.23.5 | py310h8e6c178_0 6.7 MB defaults
pillow-9.4.0 | py310h6a678d5_0 730 KB defaults
pyopenssl-23.0.0 | py310h06a4308_0 97 KB defaults
pysocks-1.7.1 | py310h06a4308_0 28 KB defaults
pytorch-2.0.0 |py3.10_cuda11.8_cudnn8.7.0_0 1.41 GB pytorch
requests-2.28.1 | py310h06a4308_1 100 KB defaults
sympy-1.11.1 | py310h06a4308_0 11.8 MB defaults
torchaudio-2.0.0 | py310_cu118 7.5 MB pytorch
torchtriton-2.0.0 | py310 62.6 MB pytorch
torchvision-0.15.0 | py310_cu118 8.0 MB pytorch
typing_extensions-4.4.0 | py310h06a4308_0 46 KB defaults
urllib3-1.26.15 | py310h06a4308_0 199 KB defaults
------------------------------------------------------------
Total: 1.51 GB
The following NEW packages will be INSTALLED:
blas anaconda/pkgs/main/linux-64::blas-1.0-mkl
brotlipy anaconda/pkgs/main/linux-64::brotlipy-0.7.0-py310h7f8727e_1002
cffi anaconda/pkgs/main/linux-64::cffi-1.15.1-py310h5eee18b_3
charset-normalizer anaconda/pkgs/main/noarch::charset-normalizer-2.0.4-pyhd3eb1b0_0
cryptography anaconda/pkgs/main/linux-64::cryptography-39.0.1-py310h9ce1e76_0
cuda-cudart nvidia/linux-64::cuda-cudart-11.8.89-0
cuda-cupti nvidia/linux-64::cuda-cupti-11.8.87-0
cuda-libraries nvidia/linux-64::cuda-libraries-11.8.0-0
cuda-nvrtc nvidia/linux-64::cuda-nvrtc-11.8.89-0
cuda-nvtx nvidia/linux-64::cuda-nvtx-11.8.86-0
cuda-runtime nvidia/linux-64::cuda-runtime-11.8.0-0
ffmpeg pytorch/linux-64::ffmpeg-4.3-hf484d3e_0
filelock anaconda/pkgs/main/linux-64::filelock-3.9.0-py310h06a4308_0
flit-core anaconda/pkgs/main/linux-64::flit-core-3.8.0-py310h06a4308_0
freetype anaconda/pkgs/main/linux-64::freetype-2.12.1-h4a9f257_0
giflib anaconda/pkgs/main/linux-64::giflib-5.2.1-h5eee18b_3
gmp anaconda/pkgs/main/linux-64::gmp-6.2.1-h295c915_3
gmpy2 anaconda/pkgs/main/linux-64::gmpy2-2.1.2-py310heeb90bb_0
gnutls anaconda/pkgs/main/linux-64::gnutls-3.6.15-he1e5248_0
idna anaconda/pkgs/main/linux-64::idna-3.4-py310h06a4308_0
intel-openmp anaconda/pkgs/main/linux-64::intel-openmp-2021.4.0-h06a4308_3561
jinja2 anaconda/pkgs/main/linux-64::jinja2-3.1.2-py310h06a4308_0
jpeg anaconda/pkgs/main/linux-64::jpeg-9e-h5eee18b_1
lame anaconda/pkgs/main/linux-64::lame-3.100-h7b6447c_0
lcms2 anaconda/pkgs/main/linux-64::lcms2-2.12-h3be6417_0
lerc anaconda/pkgs/main/linux-64::lerc-3.0-h295c915_0
libcublas nvidia/linux-64::libcublas-11.11.3.6-0
libcufft nvidia/linux-64::libcufft-10.9.0.58-0
libcufile nvidia/linux-64::libcufile-1.6.0.25-0
libcurand nvidia/linux-64::libcurand-10.3.2.56-0
libcusolver nvidia/linux-64::libcusolver-11.4.1.48-0
libcusparse nvidia/linux-64::libcusparse-11.7.5.86-0
libdeflate anaconda/pkgs/main/linux-64::libdeflate-1.17-h5eee18b_0
libiconv anaconda/pkgs/main/linux-64::libiconv-1.16-h7f8727e_2
libidn2 anaconda/pkgs/main/linux-64::libidn2-2.3.2-h7f8727e_0
libnpp nvidia/linux-64::libnpp-11.8.0.86-0
libnvjpeg nvidia/linux-64::libnvjpeg-11.9.0.86-0
libpng anaconda/pkgs/main/linux-64::libpng-1.6.39-h5eee18b_0
libtasn1 anaconda/pkgs/main/linux-64::libtasn1-4.19.0-h5eee18b_0
libtiff anaconda/pkgs/main/linux-64::libtiff-4.5.0-h6a678d5_2
libunistring anaconda/pkgs/main/linux-64::libunistring-0.9.10-h27cfd23_0
libwebp anaconda/pkgs/main/linux-64::libwebp-1.2.4-h11a3e52_1
libwebp-base anaconda/pkgs/main/linux-64::libwebp-base-1.2.4-h5eee18b_1
lz4-c anaconda/pkgs/main/linux-64::lz4-c-1.9.4-h6a678d5_0
markupsafe anaconda/pkgs/main/linux-64::markupsafe-2.1.1-py310h7f8727e_0
mkl anaconda/pkgs/main/linux-64::mkl-2021.4.0-h06a4308_640
mkl-service anaconda/pkgs/main/linux-64::mkl-service-2.4.0-py310h7f8727e_0
mkl_fft anaconda/pkgs/main/linux-64::mkl_fft-1.3.1-py310hd6ae3a3_0
mkl_random anaconda/pkgs/main/linux-64::mkl_random-1.2.2-py310h00e6091_0
mpc anaconda/pkgs/main/linux-64::mpc-1.1.0-h10f8cd9_1
mpfr anaconda/pkgs/main/linux-64::mpfr-4.0.2-hb69a4c5_1
mpmath anaconda/pkgs/main/linux-64::mpmath-1.2.1-py310h06a4308_0
nettle anaconda/pkgs/main/linux-64::nettle-3.7.3-hbbd107a_1
networkx anaconda/pkgs/main/linux-64::networkx-2.8.4-py310h06a4308_1
numpy anaconda/pkgs/main/linux-64::numpy-1.23.5-py310hd5efca6_0
numpy-base anaconda/pkgs/main/linux-64::numpy-base-1.23.5-py310h8e6c178_0
openh264 anaconda/pkgs/main/linux-64::openh264-2.1.1-h4ff587b_0
pillow anaconda/pkgs/main/linux-64::pillow-9.4.0-py310h6a678d5_0
pycparser anaconda/pkgs/main/noarch::pycparser-2.21-pyhd3eb1b0_0
pyopenssl anaconda/pkgs/main/linux-64::pyopenssl-23.0.0-py310h06a4308_0
pysocks anaconda/pkgs/main/linux-64::pysocks-1.7.1-py310h06a4308_0
pytorch pytorch/linux-64::pytorch-2.0.0-py3.10_cuda11.8_cudnn8.7.0_0
pytorch-cuda pytorch/linux-64::pytorch-cuda-11.8-h7e8668a_3
pytorch-mutex pytorch/noarch::pytorch-mutex-1.0-cuda
requests anaconda/pkgs/main/linux-64::requests-2.28.1-py310h06a4308_1
six anaconda/pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_1
sympy anaconda/pkgs/main/linux-64::sympy-1.11.1-py310h06a4308_0
torchaudio pytorch/linux-64::torchaudio-2.0.0-py310_cu118
torchtriton pytorch/linux-64::torchtriton-2.0.0-py310
torchvision pytorch/linux-64::torchvision-0.15.0-py310_cu118
typing_extensions anaconda/pkgs/main/linux-64::typing_extensions-4.4.0-py310h06a4308_0
urllib3 anaconda/pkgs/main/linux-64::urllib3-1.26.15-py310h06a4308_0
zstd anaconda/pkgs/main/linux-64::zstd-1.5.4-hc292b87_0
Proceed ([y]/n)?
Downloading and Extracting Packages
networkx-2.8.4 | 2.7 MB | ################################################################################ | 100%
flit-core-3.8.0 | 84 KB | ################################################################################ | 100%
pyopenssl-23.0.0 | 97 KB | ################################################################################ | 100%
markupsafe-2.1.1 | 34 KB | ################################################################################ | 100%
torchvision-0.15.0 | 8.0 MB | ################################################################################ | 100%
numpy-1.23.5 | 10 KB | ################################################################################ | 100%
numpy-base-1.23.5 | 6.7 MB | ################################################################################ | 100%
jinja2-3.1.2 | 215 KB | ################################################################################ | 100%
requests-2.28.1 | 100 KB | ################################################################################ | 100%
mpmath-1.2.1 | 769 KB | ################################################################################ | 100%
pytorch-2.0.0 | 1.41 GB | ################################################################################ | 100%
pysocks-1.7.1 | 28 KB | ################################################################################ | 100%
typing_extensions-4. | 46 KB | ################################################################################ | 100%
blas-1.0 | 6 KB | ################################################################################ | 100%
pillow-9.4.0 | 730 KB | ################################################################################ | 100%
cffi-1.15.1 | 243 KB | ################################################################################ | 100%
mkl_random-1.2.2 | 1009 KB | ################################################################################ | 100%
sympy-1.11.1 | 11.8 MB | ################################################################################ | 100%
torchaudio-2.0.0 | 7.5 MB | ################################################################################ | 100%
gmpy2-2.1.2 | 517 KB | ################################################################################ | 100%
idna-3.4 | 97 KB | ################################################################################ | 100%
mkl-service-2.4.0 | 177 KB | ################################################################################ | 100%
torchtriton-2.0.0 | 62.6 MB | ################################################################################ | 100%
cryptography-39.0.1 | 1.4 MB | ################################################################################ | 100%
filelock-3.9.0 | 18 KB | ################################################################################ | 100%
mkl_fft-1.3.1 | 567 KB | ################################################################################ | 100%
urllib3-1.26.15 | 199 KB | ################################################################################ | 100%
brotlipy-0.7.0 | 712 KB | ################################################################################ | 100%
... (more hidden) ...
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(py310) xf@VP01:~/ai/env$
2.2.3 list确认已装CUDA ToolKit和pytorch支持CUDA版本
conda list
# Name Version Build Channel
...
> cuda-cudart 11.8.89 0 nvidia
> cuda-cupti 11.8.87 0 nvidia
> cuda-libraries 11.8.0 0 nvidia
> cuda-nvrtc 11.8.89 0 nvidia
> cuda-nvtx 11.8.86 0 nvidia
> cuda-runtime 11.8.0 0 nvidia
...
> pytorch 2.0.0 py3.10_cuda11.8_cudnn8.7.0_0 pytorch
> pytorch-cuda 11.8 h7e8668a_3 pytorch
> pytorch-mutex 1.0 cuda pytorch
...
> torchaudio 2.0.0 py310_cu118 pytorch
...
> torchvision 0.15.0 py310_cu118 pytorch
列出conda安装包列表,确认安装的PyTorch是否CUDA版本, 第3列版本build中带_cu118,说明是CUDA加速版本
(py310) xf@VP01:~/ai/env$ conda list
# packages in environment at /home/xf/anaconda3/envs/py310:
#
# Name Version Build Channel
_libgcc_mutex 0.1 main defaults
_openmp_mutex 5.1 1_gnu defaults
blas 1.0 mkl defaults
brotlipy 0.7.0 py310h7f8727e_1002 defaults
bzip2 1.0.8 h7b6447c_0 defaults
ca-certificates 2023.01.10 h06a4308_0 defaults
certifi 2022.12.7 py310h06a4308_0 defaults
cffi 1.15.1 py310h5eee18b_3 defaults
charset-normalizer 2.0.4 pyhd3eb1b0_0 defaults
cryptography 39.0.1 py310h9ce1e76_0 defaults
cuda-cudart 11.8.89 0 nvidia
cuda-cupti 11.8.87 0 nvidia
cuda-libraries 11.8.0 0 nvidia
cuda-nvrtc 11.8.89 0 nvidia
cuda-nvtx 11.8.86 0 nvidia
cuda-runtime 11.8.0 0 nvidia
ffmpeg 4.3 hf484d3e_0 pytorch
filelock 3.9.0 py310h06a4308_0 defaults
flit-core 3.8.0 py310h06a4308_0 defaults
freetype 2.12.1 h4a9f257_0 defaults
giflib 5.2.1 h5eee18b_3 defaults
gmp 6.2.1 h295c915_3 defaults
gmpy2 2.1.2 py310heeb90bb_0 defaults
gnutls 3.6.15 he1e5248_0 defaults
idna 3.4 py310h06a4308_0 defaults
intel-openmp 2021.4.0 h06a4308_3561 defaults
jinja2 3.1.2 py310h06a4308_0 defaults
jpeg 9e h5eee18b_1 defaults
lame 3.100 h7b6447c_0 defaults
lcms2 2.12 h3be6417_0 defaults
ld_impl_linux-64 2.38 h1181459_1 defaults
lerc 3.0 h295c915_0 defaults
libcublas 11.11.3.6 0 nvidia
libcufft 10.9.0.58 0 nvidia
libcufile 1.6.0.25 0 nvidia
libcurand 10.3.2.56 0 nvidia
libcusolver 11.4.1.48 0 nvidia
libcusparse 11.7.5.86 0 nvidia
libdeflate 1.17 h5eee18b_0 defaults
libffi 3.4.2 h6a678d5_6 defaults
libgcc-ng 11.2.0 h1234567_1 defaults
libgomp 11.2.0 h1234567_1 defaults
libiconv 1.16 h7f8727e_2 defaults
libidn2 2.3.2 h7f8727e_0 defaults
libnpp 11.8.0.86 0 nvidia
libnvjpeg 11.9.0.86 0 nvidia
libpng 1.6.39 h5eee18b_0 defaults
libstdcxx-ng 11.2.0 h1234567_1 defaults
libtasn1 4.19.0 h5eee18b_0 defaults
libtiff 4.5.0 h6a678d5_2 defaults
libunistring 0.9.10 h27cfd23_0 defaults
libuuid 1.41.5 h5eee18b_0 defaults
libwebp 1.2.4 h11a3e52_1 defaults
libwebp-base 1.2.4 h5eee18b_1 defaults
lz4-c 1.9.4 h6a678d5_0 defaults
markupsafe 2.1.1 py310h7f8727e_0 defaults
mkl 2021.4.0 h06a4308_640 defaults
mkl-service 2.4.0 py310h7f8727e_0 defaults
mkl_fft 1.3.1 py310hd6ae3a3_0 defaults
mkl_random 1.2.2 py310h00e6091_0 defaults
mpc 1.1.0 h10f8cd9_1 defaults
mpfr 4.0.2 hb69a4c5_1 defaults
mpmath 1.2.1 pypi_0 pypi
ncurses 6.4 h6a678d5_0 defaults
nettle 3.7.3 hbbd107a_1 defaults
networkx 2.8.4 py310h06a4308_1 defaults
numpy 1.23.5 py310hd5efca6_0 defaults
numpy-base 1.23.5 py310h8e6c178_0 defaults
openh264 2.1.1 h4ff587b_0 defaults
openssl 1.1.1t h7f8727e_0 defaults
pillow 9.4.0 py310h6a678d5_0 defaults
pip 23.0.1 py310h06a4308_0 defaults
pycparser 2.21 pyhd3eb1b0_0 defaults
pyopenssl 23.0.0 py310h06a4308_0 defaults
pysocks 1.7.1 py310h06a4308_0 defaults
python 3.10.10 h7a1cb2a_2 defaults
pytorch 2.0.0 py3.10_cuda11.8_cudnn8.7.0_0 pytorch
pytorch-cuda 11.8 h7e8668a_3 pytorch
pytorch-mutex 1.0 cuda pytorch
readline 8.2 h5eee18b_0 defaults
requests 2.28.1 py310h06a4308_1 defaults
setuptools 65.6.3 py310h06a4308_0 defaults
six 1.16.0 pyhd3eb1b0_1 defaults
sqlite 3.41.1 h5eee18b_0 defaults
sympy 1.11.1 py310h06a4308_0 defaults
tk 8.6.12 h1ccaba5_0 defaults
torchaudio 2.0.0 py310_cu118 pytorch
torchtriton 2.0.0 py310 pytorch
torchvision 0.15.0 py310_cu118 pytorch
typing_extensions 4.4.0 py310h06a4308_0 defaults
tzdata 2023c h04d1e81_0 defaults
urllib3 1.26.15 py310h06a4308_0 defaults
wheel 0.38.4 py310h06a4308_0 defaults
xz 5.2.10 h5eee18b_1 defaults
zlib 1.2.13 h5eee18b_0 defaults
zstd 1.5.4 hc292b87_0 defaults
从上面的结果我们已知cuda已经安装,但我们没有使用 cudatoolkit=11.8 安装,为什么cudatoolkit自己就装上了:
#CUDA 11.6
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
#CUDA 11.7
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
对比官方给的安装命令,发现从pytorch 1.13开始,cudatoolkit=11.6 改为了 pytorch-cuda=11.7
本节中使用pytorch-cuda=11.8,相当于安装cudatoolkit=11.8
2.2.4 验证PyTorch CUDA
python -c "import torch;print(torch.cuda.is_available())"
(py310) xf@VP01:~/ai/env$ python -c "import torch;print(torch.cuda.is_available())"
True
3、 Python 3.7 + PyTorch 1.13.1 + CUDA 11.7
3.1 创建Python37环境
创建
conda create -n py37 python=3.7
激活
conda activate py37
(py310) xf@VP01:~$ conda deactivate
(base) xf@VP01:~$ conda create -n py37 python=3.7
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/xf/anaconda3/envs/py37
added / updated specs:
- python=3.7
The following packages will be downloaded:
package | build
---------------------------|-----------------
_libgcc_mutex-0.1 | main 3 KB defaults
_openmp_mutex-5.1 | 1_gnu 21 KB defaults
ca-certificates-2023.01.10 | h06a4308_0 120 KB defaults
certifi-2022.12.7 | py37h06a4308_0 150 KB defaults
ld_impl_linux-64-2.38 | h1181459_1 654 KB defaults
libffi-3.4.2 | h6a678d5_6 136 KB defaults
libgcc-ng-11.2.0 | h1234567_1 5.3 MB defaults
libgomp-11.2.0 | h1234567_1 474 KB defaults
libstdcxx-ng-11.2.0 | h1234567_1 4.7 MB defaults
ncurses-6.4 | h6a678d5_0 914 KB defaults
openssl-1.1.1t | h7f8727e_0 3.7 MB defaults
pip-22.3.1 | py37h06a4308_0 2.7 MB defaults
python-3.7.16 | h7a1cb2a_0 44.8 MB defaults
readline-8.2 | h5eee18b_0 357 KB defaults
setuptools-65.6.3 | py37h06a4308_0 1.1 MB defaults
sqlite-3.41.1 | h5eee18b_0 1.2 MB defaults
tk-8.6.12 | h1ccaba5_0 3.0 MB defaults
wheel-0.38.4 | py37h06a4308_0 63 KB defaults
xz-5.2.10 | h5eee18b_1 429 KB defaults
zlib-1.2.13 | h5eee18b_0 103 KB defaults
------------------------------------------------------------
Total: 70.0 MB
The following NEW packages will be INSTALLED:
_libgcc_mutex anaconda/pkgs/main/linux-64::_libgcc_mutex-0.1-main
_openmp_mutex anaconda/pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu
ca-certificates anaconda/pkgs/main/linux-64::ca-certificates-2023.01.10-h06a4308_0
certifi anaconda/pkgs/main/linux-64::certifi-2022.12.7-py37h06a4308_0
ld_impl_linux-64 anaconda/pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1
libffi anaconda/pkgs/main/linux-64::libffi-3.4.2-h6a678d5_6
libgcc-ng anaconda/pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1
libgomp anaconda/pkgs/main/linux-64::libgomp-11.2.0-h1234567_1
libstdcxx-ng anaconda/pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1
ncurses anaconda/pkgs/main/linux-64::ncurses-6.4-h6a678d5_0
openssl anaconda/pkgs/main/linux-64::openssl-1.1.1t-h7f8727e_0
pip anaconda/pkgs/main/linux-64::pip-22.3.1-py37h06a4308_0
python anaconda/pkgs/main/linux-64::python-3.7.16-h7a1cb2a_0
readline anaconda/pkgs/main/linux-64::readline-8.2-h5eee18b_0
setuptools anaconda/pkgs/main/linux-64::setuptools-65.6.3-py37h06a4308_0
sqlite anaconda/pkgs/main/linux-64::sqlite-3.41.1-h5eee18b_0
tk anaconda/pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0
wheel anaconda/pkgs/main/linux-64::wheel-0.38.4-py37h06a4308_0
xz anaconda/pkgs/main/linux-64::xz-5.2.10-h5eee18b_1
zlib anaconda/pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate py37
#
# To deactivate an active environment, use
#
# $ conda deactivate
(base) xf@VP01:~$
(py37) xf@VP01:~$
3.2 安装PyTorch113 GPU版本
3.2.1 官网链接
PyTorch历史版本
https://pytorch.org/get-started/previous-versions/
深度学习开源框架大多在Python 3.7环境,我们以PyTorch 1.13.1为例安装CUDA 11.7版本
3.2.2 Conda安装方法
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
package | build
-----------------------------|-----------------
cuda-cudart-11.7.99 | 0 194 KB nvidia
cuda-cupti-11.7.101 | 0 22.9 MB nvidia
cuda-libraries-11.7.1 | 0 1 KB nvidia
cuda-nvrtc-11.7.99 | 0 17.3 MB nvidia
cuda-nvtx-11.7.91 | 0 57 KB nvidia
cuda-runtime-11.7.1 | 0 1 KB nvidia
...
pytorch-1.13.1 |py3.7_cuda11.7_cudnn8.5.0_0 1.14 GB pytorch
pytorch-cuda-11.7 | h778d358_3 7 KB pytorch
...
torchaudio-0.13.1 | py37_cu117 6.5 MB pytorch
torchvision-0.14.1 | py37_cu117 29.5 MB pytorch
在安装包列表中了解即将安装的是否CUDA版本, 第2列版本build中带_cu117,说明是CUDA加速版本
(py37) xf@VP01:~$ conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/xf/anaconda3/envs/py37
added / updated specs:
- pytorch-cuda=11.7
- pytorch==1.13.1
- torchaudio==0.13.1
- torchvision==0.14.1
The following packages will be downloaded:
package | build
---------------------------|-----------------
brotlipy-0.7.0 |py37h27cfd23_1003 320 KB defaults
bzip2-1.0.8 | h7b6447c_0 78 KB defaults
cffi-1.15.1 | py37h5eee18b_3 240 KB defaults
cryptography-39.0.1 | py37h9ce1e76_0 1.4 MB defaults
cuda-cudart-11.7.99 | 0 194 KB nvidia
cuda-cupti-11.7.101 | 0 22.9 MB nvidia
cuda-libraries-11.7.1 | 0 1 KB nvidia
cuda-nvrtc-11.7.99 | 0 17.3 MB nvidia
cuda-nvtx-11.7.91 | 0 57 KB nvidia
cuda-runtime-11.7.1 | 0 1 KB nvidia
idna-3.4 | py37h06a4308_0 91 KB defaults
libcublas-11.10.3.66 | 0 286.1 MB nvidia
libcufft-10.7.2.124 | h4fbf590_0 93.6 MB nvidia
libcusolver-11.4.0.1 | 0 78.7 MB nvidia
libcusparse-11.7.4.91 | 0 151.1 MB nvidia
libnpp-11.7.4.75 | 0 129.3 MB nvidia
libnvjpeg-11.8.0.2 | 0 2.2 MB nvidia
mkl-service-2.4.0 | py37h7f8727e_0 56 KB defaults
mkl_fft-1.3.1 | py37hd3c417c_0 172 KB defaults
mkl_random-1.2.2 | py37h51133e4_0 287 KB defaults
numpy-1.21.5 | py37h6c91a56_3 10 KB defaults
numpy-base-1.21.5 | py37ha15fc14_3 4.8 MB defaults
pillow-9.4.0 | py37h6a678d5_0 721 KB defaults
pyopenssl-23.0.0 | py37h06a4308_0 96 KB defaults
pysocks-1.7.1 | py37_1 27 KB defaults
pytorch-1.13.1 |py3.7_cuda11.7_cudnn8.5.0_0 1.14 GB pytorch
pytorch-cuda-11.7 | h778d358_3 7 KB pytorch
requests-2.28.1 | py37h06a4308_0 92 KB defaults
torchaudio-0.13.1 | py37_cu117 6.5 MB pytorch
torchvision-0.14.1 | py37_cu117 29.5 MB pytorch
typing_extensions-4.3.0 | py37h06a4308_0 42 KB defaults
urllib3-1.26.14 | py37h06a4308_0 195 KB defaults
------------------------------------------------------------
Total: 1.95 GB
The following NEW packages will be INSTALLED:
blas anaconda/pkgs/main/linux-64::blas-1.0-mkl
brotlipy anaconda/pkgs/main/linux-64::brotlipy-0.7.0-py37h27cfd23_1003
bzip2 anaconda/pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0
cffi anaconda/pkgs/main/linux-64::cffi-1.15.1-py37h5eee18b_3
charset-normalizer anaconda/pkgs/main/noarch::charset-normalizer-2.0.4-pyhd3eb1b0_0
cryptography anaconda/pkgs/main/linux-64::cryptography-39.0.1-py37h9ce1e76_0
cuda-cudart nvidia/linux-64::cuda-cudart-11.7.99-0
cuda-cupti nvidia/linux-64::cuda-cupti-11.7.101-0
cuda-libraries nvidia/linux-64::cuda-libraries-11.7.1-0
cuda-nvrtc nvidia/linux-64::cuda-nvrtc-11.7.99-0
cuda-nvtx nvidia/linux-64::cuda-nvtx-11.7.91-0
cuda-runtime nvidia/linux-64::cuda-runtime-11.7.1-0
ffmpeg pytorch/linux-64::ffmpeg-4.3-hf484d3e_0
freetype anaconda/pkgs/main/linux-64::freetype-2.12.1-h4a9f257_0
giflib anaconda/pkgs/main/linux-64::giflib-5.2.1-h5eee18b_3
gmp anaconda/pkgs/main/linux-64::gmp-6.2.1-h295c915_3
gnutls anaconda/pkgs/main/linux-64::gnutls-3.6.15-he1e5248_0
idna anaconda/pkgs/main/linux-64::idna-3.4-py37h06a4308_0
intel-openmp anaconda/pkgs/main/linux-64::intel-openmp-2021.4.0-h06a4308_3561
jpeg anaconda/pkgs/main/linux-64::jpeg-9e-h5eee18b_1
lame anaconda/pkgs/main/linux-64::lame-3.100-h7b6447c_0
lcms2 anaconda/pkgs/main/linux-64::lcms2-2.12-h3be6417_0
lerc anaconda/pkgs/main/linux-64::lerc-3.0-h295c915_0
libcublas nvidia/linux-64::libcublas-11.10.3.66-0
libcufft nvidia/linux-64::libcufft-10.7.2.124-h4fbf590_0
libcufile nvidia/linux-64::libcufile-1.6.0.25-0
libcurand nvidia/linux-64::libcurand-10.3.2.56-0
libcusolver nvidia/linux-64::libcusolver-11.4.0.1-0
libcusparse nvidia/linux-64::libcusparse-11.7.4.91-0
libdeflate anaconda/pkgs/main/linux-64::libdeflate-1.17-h5eee18b_0
libiconv anaconda/pkgs/main/linux-64::libiconv-1.16-h7f8727e_2
libidn2 anaconda/pkgs/main/linux-64::libidn2-2.3.2-h7f8727e_0
libnpp nvidia/linux-64::libnpp-11.7.4.75-0
libnvjpeg nvidia/linux-64::libnvjpeg-11.8.0.2-0
libpng anaconda/pkgs/main/linux-64::libpng-1.6.39-h5eee18b_0
libtasn1 anaconda/pkgs/main/linux-64::libtasn1-4.19.0-h5eee18b_0
libtiff anaconda/pkgs/main/linux-64::libtiff-4.5.0-h6a678d5_2
libunistring anaconda/pkgs/main/linux-64::libunistring-0.9.10-h27cfd23_0
libwebp anaconda/pkgs/main/linux-64::libwebp-1.2.4-h11a3e52_1
libwebp-base anaconda/pkgs/main/linux-64::libwebp-base-1.2.4-h5eee18b_1
lz4-c anaconda/pkgs/main/linux-64::lz4-c-1.9.4-h6a678d5_0
mkl anaconda/pkgs/main/linux-64::mkl-2021.4.0-h06a4308_640
mkl-service anaconda/pkgs/main/linux-64::mkl-service-2.4.0-py37h7f8727e_0
mkl_fft anaconda/pkgs/main/linux-64::mkl_fft-1.3.1-py37hd3c417c_0
mkl_random anaconda/pkgs/main/linux-64::mkl_random-1.2.2-py37h51133e4_0
nettle anaconda/pkgs/main/linux-64::nettle-3.7.3-hbbd107a_1
numpy anaconda/pkgs/main/linux-64::numpy-1.21.5-py37h6c91a56_3
numpy-base anaconda/pkgs/main/linux-64::numpy-base-1.21.5-py37ha15fc14_3
openh264 anaconda/pkgs/main/linux-64::openh264-2.1.1-h4ff587b_0
pillow anaconda/pkgs/main/linux-64::pillow-9.4.0-py37h6a678d5_0
pycparser anaconda/pkgs/main/noarch::pycparser-2.21-pyhd3eb1b0_0
pyopenssl anaconda/pkgs/main/linux-64::pyopenssl-23.0.0-py37h06a4308_0
pysocks anaconda/pkgs/main/linux-64::pysocks-1.7.1-py37_1
pytorch pytorch/linux-64::pytorch-1.13.1-py3.7_cuda11.7_cudnn8.5.0_0
pytorch-cuda pytorch/linux-64::pytorch-cuda-11.7-h778d358_3
pytorch-mutex pytorch/noarch::pytorch-mutex-1.0-cuda
requests anaconda/pkgs/main/linux-64::requests-2.28.1-py37h06a4308_0
six anaconda/pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_1
torchaudio pytorch/linux-64::torchaudio-0.13.1-py37_cu117
torchvision pytorch/linux-64::torchvision-0.14.1-py37_cu117
typing_extensions anaconda/pkgs/main/linux-64::typing_extensions-4.3.0-py37h06a4308_0
urllib3 anaconda/pkgs/main/linux-64::urllib3-1.26.14-py37h06a4308_0
zstd anaconda/pkgs/main/linux-64::zstd-1.5.4-hc292b87_0
Proceed ([y]/n)?
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(py37) xf@VP01:~$
3.2.3 list确认已装CUDA ToolKit和pytorch是否支持CUDA版本
conda list
# Name Version Build Channel
...
cuda-cudart 11.7.99 0 nvidia
cuda-cupti 11.7.101 0 nvidia
cuda-libraries 11.7.1 0 nvidia
cuda-nvrtc 11.7.99 0 nvidia
cuda-nvtx 11.7.91 0 nvidia
cuda-runtime 11.7.1 0 nvidia
...
python 3.7.16 h7a1cb2a_0 defaults
pytorch 1.13.1 py3.7_cuda11.7_cudnn8.5.0_0 pytorch
pytorch-cuda 11.7 h778d358_3 pytorch
...
torchaudio 0.13.1 py37_cu117 pytorch
torchvision 0.14.1 py37_cu117 pytorch
列出conda安装包列表
- 确认安装的PyTorch是否CUDA版本
第3列版本build中带_cu117,说明是CUDA加速版本- 确认cuda runtime版本 11.7
cuda-* 相关版本11.7.*
3.2.4 验证PyTorch CUDA
python -c "import torch;print(torch.cuda.is_available())"
(py37) xf@VP01:~$ python -c "import torch;print(torch.cuda.is_available())"
True
(py37) xf@VP01:~$
本章完

本文详细介绍了如何在WSL2环境下,使用Conda管理多个Python环境,并针对不同环境安装对应版本的PyTorch与CUDA。首先,通过在根环境安装独立的CUDA ToolKit,然后在每个Python虚拟环境中安装指定版本的PyTorch(如PyTorch 2.0.0+ CUDA 11.8和PyTorch 1.13.1+ CUDA 11.7),并验证CUDA支持。
800

被折叠的 条评论
为什么被折叠?



