本篇文章记录下自己安装pytorch的过程,由于我装过3~4次了,所以还算是比较有经验了。
文章目录
1.检查电脑配置2.Anaconda的准备工作-添加国内镜像源3.下载3.测试1.检查电脑配置
右键打开
打开系统信息
切换为组件栏
在3D设置中找到自己的cuda版本,我这里是11.1。
2.Anaconda的准备工作-添加国内镜像源
打开anaconda的命令行。
添加国内镜像源,不单单是可以让我们下载得更快,而且更加稳定,我第一次直接按默认的来,结果中途有一个包卡住了,然后就中断了下载,这时我把之前下载的包都删除干净,重新下,才弄好。
在下面,我们将添加很多源,不同的源有不同的包。虽然这次你不一定都用得上所有的源,(这次只用得上一两个)但是,下次你下载其他的包时或许就能用上。
添加国内镜像源方法有两种:
一行一行地在Anaconda中输入如下命令,所以会比较累。使用windows的批处理程序,方法见下面命令后面。
conda config --add channels https://mirrors.tuna./anaconda/pkgs/main/conda config --add channels https://mirrors.tuna./anaconda/pkgs/rconda config --add channels https://mirrors.tuna./anaconda/pkgs/msys2conda config --add channels https://mirrors.tuna./anaconda/cloud/pytorch/conda config --add channels https://mirrors.tuna./anaconda/cloud/menpo/conda config --add channels https://mirrors.tuna./anaconda/cloud/bioconda/conda config --add channels https://mirrors.tuna./anaconda/cloud/msys2/conda config --add channels https://mirrors.tuna./anaconda/cloud/conda-forge/conda config --add channels https://mirrors.tuna./anaconda/cloud/simpleitkconda config --set show_channel_urls yes
批处理方法:按照如下建立一个.bat
文件,文件里面的内容就是上面的命令。保存。
在anaconda命令行中输入如下命令(.bat文件路径换成你自己的)。
type E:\download\anaconda_add_package_sources.bat | cmd
大功告成,上面所有的命令都运行了。
我们可以使用如下命令查看我们的包源:
3.下载
打开pytorch下载官网:/get-started/locally/。然后选择好各个选项,其中CUDA版本根据自己电脑选择,我这里为11.1。
然后我们发现最下面有一行命令。
复制这行命令到Anaconda命令行中,不过把-c
之后的内容通通去掉,-c
是指定从哪个源来下载我们要的包,但是我们用的是国内源,我们上一步已经配置,这记录在系统中了,而且在源使用列表中的最前面,所以conda能够自动使用国内源。
去掉c
后命令大致如下(换成你自己的),回车,然后输入y,开始下载。。。
我们等一会,下载成功之后我们测试一下。
3.测试
打开jupyter notebook
,输入以下命令:
import torch#1测试是否成功安装pytorchprint(torch.cuda.is_available())#2检测cuda是否安装正确和可用.#3判断是否能够真正使用GPU。即cuda,pytorch,显卡都兼容。这步很关键,很多4,5年前的电脑前两步都没问题,这步就出问题,多半是显卡算力太低。a=torch.Tensor([1,2])a=a.cuda()a
结果:
如果你上面代码都没报错,那么说明成功了!GPU加速就在眼前。
如果你的电脑比较新,那么多半按上述操作都没有问题。
如果你的电脑非常旧(我之前是旧电脑),那么大概遇到的是如下文章中描述的问题:
/qq_43391414/article/details/109695111
/qq_43391414/article/details/110562749
这里也有我之前旧电脑安装失败的一些总结:
我现在电脑配置:
联想 thinkbook 14 款win10独显MX450集成显卡:Iris(R) Xe内存16GCPU:i5 1135G7
比较新,所以,不存在如上问题,目前搞些小型网络好像还是没啥压力的。