参考链接https://baike.baidu.com/item/anaconda/20407441#viewPageContent
unbuntu16.04 anaconda 虚拟环境 pytorch cuda9.0 python3.7
我理解着anaconda实际上就是一个虚拟环境,如果直接在ubuntu系统上运行一些python程序或者其他一些语言的程序,如果程序出错,可能导致整个系统都崩盘,我亲身经历过,这时候需要建一个虚拟环境,在虚拟环境中运行自己的程序,至少可以保证系统不崩盘。常见的虚拟环境有anaconda,virtualenv等等。
关于anaconda和conda的关系,百度百科上介绍的就很清楚,这里引用百度百科,“Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 [1] 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。”,
从这个表述可以看出,anaconda是一个运行的软件,就像QQ,WPS一样,而conda是anaconda里面的一个包,主要的工作就是建立一个虚拟环境,而anaconda中还包含其他的包,比如python,numpy等等,都是深度学习必要的。
anaconda支持Linux/Wnidows/MacOS
正常的思想是去官网上下载https://www.anaconda.com/distribution/,但是实际上由于服务器的问题,境内基本下载不下来
所以去清华的开源镜像网站上下载sh安装包,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
bash path-to-your-download-sh-file
example
bash ~/下载/Anaconda3-2020.02-Linux-x86_64.sh
anaconda -V
这个指令是得到Anaconda的版本号
这个直接删除就行了
gedit ~/.bashrc #这一步打开配置文件
打开配置文件后,手动删除所有与anaconda的相关项,我的那个是一大段,下面有进一步说明
source ~/.bashrc #这一步是刷新系统配置,这一步完了就是卸载成功了
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
#__conda_setup="$('/home/laptop2/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
#if [ $? -eq 0 ]; then
# eval "$__conda_setup"
#else
# if [ -f "/home/laptop2/anaconda3/etc/profile.d/conda.sh" ]; then
# . "/home/laptop2/anaconda3/etc/profile.d/conda.sh"
# else
# export PATH="/home/laptop2/anaconda3/bin:$PATH"
# fi
#fi
#unset __conda_setup
# <<< conda initialize <<<
新建一个虚拟环境,为pytorch创建虚拟环境,用的python版本是py3.7
conda create -n pytorch-py37 python=3.7
or
conda create -name pytorch-py37 python=3.7
激活这个环境
conda activate pytorch-py37
退出这个环境
conda deactivate pytorch-py37
删除这个虚拟环境
conda remove --name pytorch-py37 --all
安装pytorch过程需要注意三点,第一点是境内的镜像问题,第二点是cuda版本的匹配问题,第三点是从pytorch官网复制命令行时一定要去掉‘-c’,继续向下看这个教程一定要注意这三点
由于Anaconda,Pytorch的服务器都在境外,我们在境内下载会很慢,基本就下载不下来,所以需要添加一些镜像网址,常见的镜像网站有科大的镜像,清华的镜像,但是现在好像科大的镜像停止服务了,不过随时有可能会恢复
科大镜像:https://mirrors.tuna.tsinghua.edu.cn/
清华镜像:https://mirrors.ustc.edu.cn/
添加镜像正文
如果要添加清华的镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
看一看添加的结果
conda config --show-sources
删除相应的镜像
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
除了清华大的镜像之外,还有科大的镜像也可以添加https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
进入虚拟环境
conda activate pytorch-py37c
在安装pytorch之前,先确定一下自己的电脑的cuda版本,然后选择对应的版本进行安装
#查看cuda版本,我的版本是CUDA Version 9.0.176
cat /usr/local/cuda/version.txt
#or
nvcc -V
#查看cudnn版本,我的版本是7.1.4,其实cudnn的版本号不用查看
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
根据自己电脑的cuda版本来确定需要的pytorch版本,截至目前2020.04.30为止,pytorch的最新版本是1.4.0,但是这个最新版本只支持cuda9.2和cuda10.1
pytorch版本 | 对应的cuda版本 |
---|---|
1.4.0 | 9.2/10.1 |
1.2.0 | 9.2/10.0 |
1.1.0 | 9.0/10.0 |
根据自己的cuda版本,确定自己的pytorch版本,然后去pytroch官网https://pytorch.org/get-started/previous-versions/参考指令操作,找到与自己的版本对应的指令执行,进行安装,但是一定不能直接复制过来,一般来说从官网直接粘贴过来的指令有有一个‘-c’字符,这个字符代表着默认pytorch的下载地址是官网,也就是说之前添加的镜像根本没用,网速还是很慢,所以要去掉‘-c’字符,比如说我的cuda版本是9.0,我只能安装pytorch1.1.0,我在官网上找到的指令是conda install pytorch1.1.0 torchvision0.3.0 cudatoolkit=9.0 -c pytorch,但实际安转的指令是
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=9.0 pytorch
import torch
print(torch.__version__)#查看pytorch的版本
print(torch.version.cuda)#查看pytorch支持的cuda版本
torch.cuda.is_available()#查看是否可用
torch.cuda.get_device_name(0)#查看自己的显卡设备
x = torch.rand(4,3)
y = torch.rand(4,3)
if torch.cuda.is_available():
x = x.cuda()
y = y.cuda()
print(x+y)
退出这个环境
conda deactivate pytorch-py37