Ubuntu 远程离线配置 pytorch 运行环境
2019.11.16
为了使用远程的云服务器,必须要自己配置环境,这次还算比较顺利。
1. 安装cuda
https://blog.csdn.net/wanzhen4330/article/details/81699769 ( 安装cuda = nvidia driver + cuda toolkit + cuda samples + others)
从本地下载好 cuda 的安装包,然后使用 ssh 远程上传上去,然后 运行 .run 文件。 用户协议文件太长,不想看可以直接按 ctrl+c, 然后 accept 即可。,
因为是在虚拟机上, 似乎不用关闭之前的驱动,步骤较为简单。可以直接安装 nvidia driver 驱动,安装完后,使用 nvidia-smi 查看是否安装成功,发现居然是两块 Tesla V100 显卡。
这里似乎驱动一定要安装,否则会出现“no CUDA-capable device is detected”报错 https://blog.csdn.net/flowrush/article/details/80254301。
也就是说,只装 cuda 的toolkit , 没装显卡驱动,还是用不了显卡。当然显卡驱动可以和 cuda 一同安装,也可以独立安装。为避免版本冲突,最好一起安装。
注意一定要设置环境变量,否则后续调用 tensorflow 或者 pytorch 可能会出现意想不到的错误。
echo 'export PATH="/usr/local/cuda-10.0/bin:$PATH" ' >> ~/.bashrc echo 'export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH" ' >> ~/.bashrc
否则可能会提示 某些动态链接库找不到的问题,参见 https://i.cnblogs.com/posts/edit;postId=11939020 中提到的坑。
下面图片辨析了自己手动安装 cuda 和一些情况下 Anaconda 的 conda 自动安装的 cuda 的区别。
2. 安装 cudnn
https://blog.csdn.net/wanzhen4330/article/details/81699769#cudnn%E7%9A%84%E5%AE%89%E8%A3%85
从本地下好 cudnn 的安装包,然后使用 ssh 远程上传上去,然后只需进行少量copy 和授予可运行的权限即完成安装,
注意 tar -zxvf 命令 第一次用。
tar -zxvf cudnn-10.0-linux-x64-v7.5.1.10.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn.h sudo chmod a+r /usr/local/cuda/lib64/libcudnn* # 查看cudnn版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
3. 安装 Anaconda
从本地上传安装包后直接运行安装。
设置环境变量 https://blog.csdn.net/weixin_41983807/article/details/90181625
vim ~/.bashrc
写入 export "PATH=$PATH: xxx/anaconda3/bin"
source ~/.bashrc
然后输入 python,看是否成功
或者
用 echo 命令
1)sh 安装包.sh
2)cd /home/tianxiaoxiao/package //先定位到当前安装包目录下
echo 'export PATH ="/home/tianxiaoxiao/anaconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
小插曲:误输入 export "PATH=PATH: xxx/anaconda3/bin" 后导致出错,vim 命令都无法识别了,要用 /usr/bin/vim 。使用 /usr/bin/vim 打开文件,并修改后,使用 source ~/.bashrc 仍然出错,因为此时 PATH 对应的值仍然是错误的,无法在本窗口内恢复。这时重新打开一个窗口就好了。
注意:conda 换用清华源 https://cloud.tencent.com/developer/article/1572996 :(自己的另一个博客有记录踩坑)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes
4. 安装 pytorch
https://blog.csdn.net/suan2014/article/details/80410144 https://blog.csdn.net/felicityPY/article/details/90233374
从清华镜像站点 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/ 下载对应安装包,然后远程上传上去,然后 使用 conda install 安装
5. 安装 torchvision
从清华镜像站点 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/ 下载对应安装包,同样使用 conda install 安装
注:第 4 步、第 5 步也许可以在线安装, 例如使用 conda install pytorch=1.3 居然成功更新了更新版本的 pytorch。
6. 测试显卡是否可用
打开python
import torch, torchvision
torch.cuda.is_available()
7. 安装 progress (有需求就安装)
pip install progress
比 conda install progress 方便很多。
The End.
2020.5.10 更新
系里的服务器似乎自带了 driver 显卡驱动,但是没有装 cuda https://blog.csdn.net/qq_38451119/article/details/83302585
不存在路径/usr/local/cuda, 仍需要自己安装 cuda 和 cudnn。 自己安装 cuda 最好把原来自带的 driver 覆盖掉,避免版本冲突。
在装软件包的时候,似乎可以连上清华的镜像 装 progress, 但是 ping baidu.com 似乎不通。
2020.5.28更新
服务器进了回收站,再恢复,就又要重新安装 driver 显卡驱动, 不过 /usr/local/cuda 路径及文件还在,真是奇怪! 之前还以为是没有关闭正在利用 GPU 的进程导致的,但测试关了也会这样。
2020.11.30 更新
为了跑 GCN 的代码,租用学校 4卡GPU 的云服务器,按照上面流程全部走了一遍。但发现 离线安装的 pytorch1.0.0 和 torchvision 版本有一些过低,因此想要更新一下版本。
直接使用 conda install pytorch=1.3
发现居然起作用了,能够进行安装。