ubuntu下使用conda安装pytorch

总结

总的安装顺序

  • Anaconda (or pip)
    • (optional)environment
  • pytorch
    • (optional)visdom

需要GPU加速的话:

  • NviDIA驱动
  • CUDA
  • CUDNN

Anaconda

下载可以去官网先找好版本,然后去国内清华源下载,速度快(清华源下载的似乎有问题)。下载好之后,安装教程可以参考官方说明,也比较流畅。关于配置可以参考这篇《Anaconda使用总结》,大概看看就明白了。

这里大概翻译一下官方说明:下载完毕时候,运行

bash ~/Downloads/Anaconda2-5.3.0-Linux-x86_64.sh

其中~/Downloads为下载路径,Anaconda2-5.3.0-Linux-x86_64.sh为下载的文件名,需要更换成自己的。Python 3.7请下载Anaconda3。安装过程中需要按Enter,或者输入yes。最后提示安装Microsoft VS Code时输入no。安装完毕后重启终端,或者运行一下命令使环境变量立即生成:

source ~/.bashrc

即可正常使用。

然后推荐使用conda创建虚拟环境。

conda create -n env_name python=2.7

其中env_name替换为自己命名,其他版本python可以替换2.7。各个环境之间独立,可以用来进行不同工作避免环境干扰。

使用以下命令切换进入环境:

source activate env_name

其他conda常用指令

conda env list
conda update conda
source deactivate
conda remove -n env_name --all
conda remove --name env_name package_name

pytorch

这个就比较好办,直接官网下载,选择conda方式,以及对应自己版本来安装即可。注意如果需要GPU加速需要先安装下面几个部分,然后根据CUDA版本选择不同的pytorch版本。如果已经安装了CUDA,可以使用以下命令检查CUDA版本:

cat /usr/local/cuda/version.txt

如果下载速度过慢以至于无法正常安装,可以手动下载。例如:

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/pytorch/linux-64/pytorch-1.0.1-py2.7_cuda9.0.176_cudnn7.4.2_2.tar.bz2>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.

出现上述错误提示时,手动复制链接,将包下载到本地。本地安装的命令如下:

conda install --use-local your-pkg-name

安装完毕后,使用python,import torch,如果不报错则安装成功。报错的话,参考本文最后的错误解决办法。之后还需要装例如Matplotlib等其他库,直接使用conda安装即可。

visdom

这个比较简单,直接conda install -c conda-forge visdom就可以了。

python -m visdom.server -port 8099

启动方法可以使用上述命令,其中8099为自定义端口,可以自己设置。然后浏览器打开http://127.0.0.1:8099/即可。


NviDIA驱动

大致就是卸了ubuntu自带开源驱动,然后安装英伟达对应版本的闭源驱动。注意版本,我忘了记录安装过程了。可自行搜索。。

CUDA

Nvidia官网https://developer.nvidia.com/cuda-downloads下载cuda,下载时要选择runfile类型文件
下载完毕后运行
sudo sh cuda_9.0.176_384.81_linux.run

出现协议时按空格一路快进,然后同意。之后会出现几个选项,第一个是询问是否安装Nvidia驱动,这个由于上一步安装过了,所以跳过,其他项目安装即可。

CUDNN

官网,下载cudnn。下载前会让你注册并填一些问题。下载完毕后解压,并把include/ 和 lib64/目录下的文件拷贝到cuda的安装目录下(默认是/usr/loca/cuda-9.0。/usr/loca/cuda也默认链接到9.0文件夹了)的include/ 和 lib64里面。

附一段简单测试CUDA与cuDNN是否工作正常的代码。如果CUDA工作不正常,那就不能使用.cuda()将模型和数据通过GPU进行加速了。而如果cuDNN不能正常工作,那就使用如下代码关掉它:cudnn.enabled = False

# CUDA TEST
import torch
x = torch.Tensor([1.0])
xx = x.cuda()
print(xx)

# CUDNN TEST
from torch.backends import cudnn
print(cudnn.is_acceptable(xx))


遇到的问题

ImportError: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory

  • conda install mkl

ImportError: numpy.core.multiarray failed to import

  • conda install numpy

nvidia-smi: Processes: Not Supported

  •  nvidia-smi最新版本不会显示低质量GPU的信息,不过可以采用这个链接下面的工具稍微修改一下    https://github.com/CFSworks/nvml_fix(原文链接

RuntimeError: CUDNN_STATUS_INTERNAL_ERROR

  • Just sudo rm -rf ~/.nv and reboot, everything will be ok!(原文链接

RuntimeError: cuda runtime error (2) : out of memory

  • 无解了……GG


本文来自 ZSXRPD,原文标题:ubuntu下使用conda安装pytorch,转载请标明来源。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。
知识共享许可协议

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据