对于安装这个事情,使用他人打包好的docker是最便捷的方式
1:搜索适配的版本
进入 https://hub.docker.com/ ,搜索栏输入pytorch
2:查找与自己环境适配的镜像
每一个都可以点开,查看一下cuda,cudnn,py等软件版本
3:拉取docker镜像
我需要cuda10,py3.6+,下面这个就合适
最右侧有拉取的命令,复制到自己的终端,运行即可。
4:查看镜像是否拉取成功
docker images
5:创建自己的容器【我是两个盘,所以是双路径】
nvidia-docker run -it -p 5592:5592 -p 5593:5593 -p 8022:22 --shm-size 10g --name=Facevisa_lilai_py -v /data0/lilai_py:/home0 -v /data1/lilai:/home1 74a9e415f5ce /bin/bash
查看容器是否创建成功【这个需要在非容器终端中运行】
docker ps -a
6:查看python版本是否正确
python -V
whereis python
which python
明明docker说自己的是py36,结果还是27,虽然有py35,依然是不符合我的要求,所以,继续升级py
A:进入https://www.python.org/ftp/python/,查看自己需要的版本
B:下载,解压,配置,编译,安装
apt-get install liblzma-dev
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar -zxvf Python-3.6.8.tgz
cd Python-3.6.8
./configure
make
make install
C:验证是否成功
确实安装成功,但默认是2.7,所以可以更改默认链接,是的默认py版本为自己安装的版本
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3.6 /usr/bin/python
conda install pytorch torchvision
如果 pip install conda 提示
ModuleNotFoundError: No module named 'pip._internal.cli'
需要修复一下
python -m ensurepip
python -m pip install --upgrade pip
如果在线安装pytorch太慢了,可以离线安装【2种方式】
1: 下载whl文件
https://download.pytorch.org/whl/torch_stable.html
下载whl安装包,使用pip install 进行安装
2:下载tar.bz2文件【这里面可能比较全】
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
下载bz2文件,使用conda install安装
conda install --offline -n XXXX..tar.bz2
如果是虚拟环境,就采用
conda install --offline -n env_name XXXX..tar.bz2
安装torchvivison的时候,遇到了pillow安装失败的问题:
解决方案:
apt-get install libjpeg-dev zlib1g-dev
pip install pillow
其他错误1:ImportError: libmkl_intel_lp64.so
Traceback (most recent call last):
File "train.py", line 9, in
import torch
File "/root/anaconda3/envs/python37/lib/python3.7/site-packages/torch/__init__.py", line 79, in
from torch._C import *
ImportError: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
其他错误2:libmkl_gnu_thread.so
Traceback (most recent call last):
File "train.py", line 9, in
import torch
File "/root/anaconda3/envs/python37/lib/python3.7/site-packages/torch/__init__.py", line 79, in
from torch._C import *
ImportError: libmkl_gnu_thread.so: cannot open shared object file: No such file or directory
解决方法:
conda install mkl
anaconda下载地址【备忘一下】以及对应python版本列表
https://repo.anaconda.com/archive/
https://docs.anaconda.com/anaconda/packages/oldpkglists/
7:查看cuda、cudnn版本
nvcc -V
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
发现cudnn没有。。。僵硬。。。那就下载自己的版本,进行安装。。。
A:进入官网:https://developer.nvidia.com/rdp/cudnn-download
B:解压,复制
tar -zxvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
cp cuda/include/cudnn.h /usr/local/cuda/include/
cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
chmod 777 /usr/local/cuda/include/cudnn.h
chmod 777 /usr/local/cuda/lib64/libcudnn*
C:生效
ldconfig
如果提示:
删除,然后重新进行软连接即可
rm libcudnn.so
rm libcudnn.so.7
ln -sf libcudnn.so.7.6.5 libcudnn.so.7
ln -sf libcudnn.so.7 libcudnn.so
ldconfig
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
8:查看pytorch版本
python
import torch
torch.__version__
(๑•ᴗ•๑)觉得有用,赏个植发的小钱钱。(๑•ᴗ•๑)