美文网首页
200627 如何配置Anaconda+全套Pytorch

200627 如何配置Anaconda+全套Pytorch

作者: dicklim | 来源:发表于2020-06-27 22:37 被阅读0次

记录一下我这儿用到的组建:ubuntu18+Anaconda+2070super驱动+cudaToolkit10.2+Pytorch1.5

踩坑注意

  1. 首先装驱动建议选稳定版本的驱动,然后驱动的时候CUDA好像就安装好了,不过这个CUDA是最新的,有可能pytorch还没适配上,所以要调整一下CUDA(截止到更新,最新CUDA是11.2,pytorch用的是11.0)
  2. 装完CUDA要看对应的cudnn,这个要和CUDA对应,好像11.011.111.2对应的cudnn是一样的。
  3. CUDA和cudnn我是装到了根目录,然后因为根目录留的空间不够,所以报了空间不足的错,建议留出足够多的空间用于安装。
  4. 最后装pytorch没啥好说的,反正目前中科大源没有了,如果有的话可以几个源ping一下看看哪个快。

20感觉有些地方还是不兼容,不是非常顺手。换回18了

一共分为几步,参考:https://blog.csdn.net/gdymind/article/details/82153643

安装Anaconda(没有程序需求可以装miniconda)

从官网下sh版本的直接安装在自己的家目录

安装完在家目录下面会有一个anaconda文件夹

在ubuntu上安装好anaconda后,如果输入conda命令报错,大概率是没有把conda加入环境变量

所有可执行二进制文件都存放在:~/anaconda3/bin

在终端输入:sudo gedit ~/.bashrc (命令行模式可以使用vim ~/.bashrc进行打开,如果只是在自己的家目录操作好像不需要使用sudo)

在 ~/.bashrc最后一行加入 export PATH=~/anaconda3/bin:$PATH 然后保存退出

命令行界面输入source ~/.bashrc激活环境

测试:

(rna) dicklim@ubuntu:~$ conda -V
conda 4.8.2

在ubuntu实机上测试了可以使用

配置Anaconda(20200524测试可用)

配置过程主要就是替换channel,因为官网channel太慢了,所以改用清华的源。

清华镜像站里的方法,不是非常好,用生成condarc之后去改,我试了几次没成功,所以我我还是决定用命令行模式来修改

基本语法:conda config --add channels https:// 后面跟要加的url

下面贴一些比较常用的命令:

# Anaconda Python 免费仓库
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
     
# Conda Forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
# menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
# pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
 
# for legacy win-64
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/

# 这句代码感觉不是必要
conda config --set show_channel_urls yes

这儿加镜像我觉得是要啥加啥,没必要直接全加(不知道会不会拖慢速度)

像free和main都是必要的,剩下pytorch是深度学习用的,bioconda是生信的,conda-forge查了一下是个更快的社区之类的?

最后那个show_channel_urls好像是在家目录生成一个url文件,感觉这句代码不是非常必须。

安装Nvidia 驱动

这步反正就是去官网下载需要的组件,这个没啥好说的

  • 一个特殊的做法:ubuntu中有个软件和更新-->附加驱动,里面可以显示可按转的驱动,我这儿是440的测试版和435的稳定版。我装的稳定版(啊下的好慢,下次一定要配好ssr再整活。)

测试:glxinfo | grep rendering 如果显示yes就是下好了,如果显示没这个命令就用sudo apt-get install mesa-utils安装。

这儿要把用户调成需要密码登陆,不然会和驱动冲突,然后无限重启。

还有个避免无限登陆的方法:是手动用run文件升级,留个参考:

https://blog.csdn.net/lihe4151021/article/details/90083431

进入tty1界面可能会出现中文乱码,解决方案
https://blog.csdn.net/lihe4151021/article/details/90048918

安装CUDA Toolkit

装pytorch的时候好像会直接装cuda所以这个似乎可以省略?

这个去网站https://developer.nvidia.com/cuda-toolkit

选好对应的版本下载就行了,我选的10.2因为Pytorch上只有10.2的我不知道更新的11支持不支持。

然后找到对应需要的配置之后按照那串代码下就行了。

我选的Linux-->x86_64-->Ubuntu-->18.04-->deb(惊!不知道20能不能用)最后还是换回18了

好的我装完了,因该是可以的,那就凑和着用了。(1.7G,我心疼的抱住我的小硬盘呜呜呜

测试:

(base) dick@dick-System-Product-Name:~$ cat /usr/local/cuda/version.txt
CUDA Version 10.2.89

然后是cuDNN

绝望怎么这个也可以在清华源下,那就是说也许可以conda install cudnn?

好像是要的,我就装一下试试

https://developer.nvidia.com/rdp/cudnn-download在这儿找到要的对应的包,我是for CUDA 10.2,还是下的ubuntu18.04的版本,下那个Runtime Library。

下下来是个deb包,然后用dpkg安装

命令是:sudo dpkg -i <name>

验证可以在python里验证

最后是Pytorch了

直接去官网找到命令复制过来就行了。

conda install pytorch torchvision cudatoolkit=10.2

注意原本指令里面是有-c pytorch的,导致channel首选pytorch,为了全从清华源下,这个-c要去掉

这玩意换了清华源因该 问题不大,刚刚冒出来一个HTTP 000 CONNECTION FAILED for url,估计是网络波动,再试一下就好了。

好吧pytorch还是下的慢,然后在安装里面会显示要装哪个版本,去清华源把对应的版本下下来。

我差pytorch和cuda toolkit(虽然我配置过cuda不过他要那就只能重弄了)

我找的是

https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/pytorch-1.5.0-py3.6_cuda10.2.89_cudnn7.6.5_0.tar.bz2

https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/cudatoolkit-10.2.89-hfd86e86_1.conda

然后是

conda install ./pytorch-1.5.0-py3.7_cuda10.2.89_cudnn7.6.5_0.tar.bz2 
conda install ./cudatoolkit-10.2.89-hfd86e86_1.conda

Python验证程序

import torch
# 若正常则静默
 
a = torch.tensor(1.)
# 若正常则静默
 
a.cuda()
# 若正常则返回 tensor(1., device='cuda:0')

from torch.backends import cudnn
# 若正常则静默
 
cudnn.is_available()
# 若正常则返回 True
True
cudnn.is_acceptable(a.cuda()) 
# 若正常则返回 True
True

相关文章

网友评论

      本文标题:200627 如何配置Anaconda+全套Pytorch

      本文链接:https://www.haomeiwen.com/subject/uphbfktx.html