关于安装pytorch的那点事
今天心有所感,福灵心至。掐指一算,嗯,是个学习的好日子,就掏出了我吃灰了快半年的pycharm,想要学点有用的东西。
学深度学习,一个好的深度学习库是必不可少的,之前一直在用keras,最近一直听师兄念叨pytorch是多么多么的强无敌,有点心痒,想着就搞来看看。
不过我是真的没想到,安装个简简单单的库会出这么多幺蛾子。
1. 利用pycharm直接安装pytorch
最开始,是想偷下懒,毕竟pycharm自身就可以通过搜索,找到想要安装的包,只需要点下按钮,基本就能完成所需的操作,但这次出了点小小的问题。
简单的说,就是我的Available Packages里读不到任何包(显示nothing to show),这就需要返回到上一步,点击Project Interpreter页面中,右方的那个绿色按钮,重新扫描读取一遍就可以解决。
然后回到Available Packages页面(点“+”进入),搜索pytorch,点击安装,然后报错(正常,正常操作,习惯就好),大致看了下,貌似是因为pytorch在1.0.2版本之后,安装时的所用的命令需要把包名从pytorch改成torch,重新搜索torch,找到后再点击安装,然后又报错(·····)报错内容为:No module named ‘tools.nnwrap’,这次是因为缺少两个关键的whl文件,下载安装就好。从这里开始我决定还是用在anaconda里安装,然后在pycharm创建工程的时候引入的方法来安装,因此此问题我并没有解决,谷歌之后找到了解决办法,具体的实现方法我会在文章结尾处给出,有兴趣的同学可以看下。
2. 利用anaconda直接安装pytorch
理论上讲,这套操作我们应该进行过很多次了,毕竟和安装keras时大同小异。
所有操作在Anaconda Prompt中进行。
第一步,打开工作路径
这一步是非常容易忘掉的一步,虽然不会影响之后的安装,但作为一名资深强迫症,只要你不想自己的anaconda中出现一堆名字一样的prompt、Jupyter Notebook等等的话,还是老老实实找一下自己的工作路径比较好。
这个时候可能会遇到这样的问题:假如说我的工作路径在D盘,但怎么也切不到D盘,这是你需要先回到C盘根目录,然后再切换到你的指定目录的盘符,再切换到你指定路径下,即可成功:
第二步,创建虚拟环境
格式为:conda create --name [虚拟环境名] [python的版本] [需要的包]
具体的实现代码如下:
conda create --name pytorch python=3.7 anaconda
其中加入最后一项anaconda命令建立虚拟环境时,会同时安装例如Notebook、Numpy、Scipy、Matplotlib、Pandas等数据分析包,用户也可以不加,选择后续安装。
此时可能报错“UnavailableInvalidChannel: The channel is not accessible or is invalid”,这是因为一些原因,我们之前所使用的包括清华、豆瓣等的镜像都不能用了,需要把它们还原为默认镜像,从外网上下载所需要的包,解决方法也在文章末尾处的连接里。
第三步,安装pytorch
先激活安装好的虚拟环境,代码如下:
activate pytorch
然后开始安装对应版本的pytorch,代码如下:
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
可以在官网 https://pytorch.org/get-started/locally/ 中自己查找对应版本的安装代码。
第四步,测试
在命令行输入python进入python,并输入下面代码:
import torch
import torchvision
print(torch.__version__)
成功打印,测试成功。
最后退出虚拟环境:
deactivate pytorch
以上,就是本次安装pytorch的基本过程,希望可以帮到大家。
pytorch 安装过程出现: No module named 'tools.nnwrap’解决方法:
https://blog.csdn.net/weijianm/article/details/101165904
Anaconda创建、激活、退出、删除虚拟环境:
https://blog.csdn.net/sizhi_xht/article/details/80964099
Anaconda创建虚拟环境报错—UnavailableInvalidChannel: The channel is not accessible or is invalid:
https://blog.csdn.net/weixin_38014640/article/details/90606889