NO.1 Ubuntu16.04利用Anaconda虚拟环境安装Pytorch

NO.1 Ubuntu16.04利用Anaconda虚拟环境安装Pytorch

参考链接https://baike.baidu.com/item/anaconda/20407441#viewPageContent

关键词

unbuntu16.04 anaconda 虚拟环境 pytorch cuda9.0 python3.7

安装Anaconda

Anaconda Part 1 简介

我理解着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

Anaconda Part 2 安装

第一步:下载安装包

正常的思想是去官网上下载https://www.anaconda.com/distribution/,但是实际上由于服务器的问题,境内基本下载不下来

所以去清华的开源镜像网站上下载sh安装包,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

第二步:执行命令安装anaconda

bash path-to-your-download-sh-file
example
bash ~/下载/Anaconda3-2020.02-Linux-x86_64.sh

第三步:测试anaconda是否安装成功

anaconda -V

这个指令是得到Anaconda的版本号

Anaconda Part 3 卸载

第一步:删除掉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 <<<

NO.1 Ubuntu16.04利用Anaconda虚拟环境安装Pytorch_第1张图片

Anaconda Part 4 使用

新建一个虚拟环境,为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

Pytorch Part 1 简介

安装pytorch过程需要注意三点,第一点是境内的镜像问题,第二点是cuda版本的匹配问题,第三点是从pytorch官网复制命令行时一定要去掉‘-c’,继续向下看这个教程一定要注意这三点

Pytorch Part 2 安装

第一步 添加好镜像

由于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

第二步 确定cuda版本

进入虚拟环境

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

第三步 安装pytorch

根据自己的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

第四步 测试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

你可能感兴趣的:(深度学习工具基础)