手动摘要:本文致力于精细讲解从如何安装Anaconda到在conda中安装带有cuda的Pytorch,致力归致力于,一路坎坷,几乎坑都快要踩完了,结果并不太乐观,在安装Pytorch时烂尾了。不知道友友们在安装途中是否也遇到同样的问题,在线求救大佬们是如何解决pytorch安装报错的问题。
好吧,第一次写博客,居然不是解决问题,而是发起求救…
下载地址:https://www.anaconda.com/download/
注:路径文件夹不要带中文!
敲重点!!“Advanced Installation Options”
在后续使用中,如需要使用CMD打开conda(管理系统虚拟环境)去新创建其他虚拟环境,此处安装就有差别。
鼠标右键单击此电脑(不要在桌面快捷键点,怕你找不到哈哈哈哈),然后点击进入属性。
进入后,点击高级系统设置,然后点击环境变量。
在电脑里找到下图中Anaconda Script的文件位置
然后复制,粘贴到系统变量path新建中,就可以了,如果还是不可以,那就按照我的环境变量里关于Anaconda的一并添加进去。(仅供参考,每个人的安装路径可能不同,需要自己灵活调整)
如果这样后,在环境测试输入conda仍然无反应无效,那还是建议直接卸载安装时双选好了,哈哈哈,选不了吃亏,选不了上当。
- 等待一段时间,然后单击Next
个人使用最多的是Jupyter Notebook,非常适合python初学者写代码,并且它自身就涵盖了非常多的包,可以直接调用就很nice;
Spyder 听说大佬都在用这个写代码,个人用的少,详情请知乎或者百度。
如果你和我一样,都是初学菜鸟,其他就可以暂时不用去深入了解。
言归正传。
好了,搞了那么多,无非就是现在见证双选奇迹时刻了!
对比发现,这次就是成功了,于是就可以进行后面的事情了…
CUDA原语为GPU上的数据科学提供动力。是一种由NVIDIA推出的通用并行计算结构,该结构使GPU能够解决复杂的计算问题。任何算法都可以使用CUDA重写而在GPU上运行,相比较CPU运行,速度貌似非常令人感动。
安装CUDA时一定要注意CUDA版本和显卡驱动版本是一一对应的,如果CUDA版本和显卡驱动版本不兼容,会产生错误,无法安装。本来想亲测踩雷演示一遍如果不兼容时会出现的情况,强行安装一波cuda10.2,神奇的是它居然一路顺畅,居然安装成功了。。。。安装是安装成功了,后续使用能行不,还看后话。
点击查询本机的显卡驱动版本,一般在右下角可以直接看到NVIDIA设置图标,鼠标右键单击,打开NVIDIA控制面板,依次点击系统信息,组件,查看本机显卡驱动版本,如我这里就是10.0,居然这么低…建议宝宝们买电脑时还是要注意看一下,像阿姨我就躺枪了。
下载网址:https://developer.nvidia.com/cuda-toolkit-archive
根据个人电脑显卡驱动版本对应下载与本机兼容的CUNDA版本(向下兼容),点击下载对应版本。
一般建议选择自定义安装,精简模式可能会附带下载到一些用不着的东西占内存。推荐勾选这四项。(肯定又有宝宝们要问了,看到的只有4个大项,点一下“-”这个,小项就出来啦,然后就选择性勾选。
安装完成。
在电脑中找cuda的储存位置,如果出现ncvv.exe(CUDA语言的编译器),那就说明安装好了,就可以开始测试了。
打开cmd,输入“ncvv -V",出现如我安装好的 10.2版本,就代表安装成功啦。
由于我高估了咱家电脑宝宝的能力,想着试一下万一10.2就成了呢,结果如图所示,还是最后老老实实安装了一遍10.0。果然,还是不能乱配,是吧。
如果输入ncvv -V后没有反应,可能是输入conda一样的环境变量没有配置好的原因。那就需要按照上述一样的方法配置cuda的环境变量,把cuda的文件位置添加到path中,此处就不再重复进行了。
因为我太看得起电脑了,所以这里10.0和10.2都在里面啦,不过盲猜一波10.2后续操作肯定是有小问题的,所以再次声明一定要在安装之前就去看清楚本机支持的cuda版本。
Troch是一个有大量机器学习算法支持的科学计算框架,是一个与numpy类似的张量(Tensor)操作库。Pytorch是一个基于Torch的Python开源机器学习库。相比较于TensorFlow,Pytorch最大优势就是灵活性强,通过反向求导技术,可以快速地零延迟地任意改变神经网络的行为。并且,相对于numpy,Pytorch支持GPU,而numpy就不可以,在比较大型的代码下,两者运行速度差别会非常大,可以说Pytorch可以很好的替代numpy。
如何知道是否已经配备好了呢?打开CMD,以管理员身份运行,输入conda,出现下面的一串即为成功配置好了;若显示为不可用,那就再往前看看环境配置那里吧。
输入conda env list或conda info --envs或conda info --e查看当前已有的虚拟环境。"*" 代表当前环境。
这里要解释一下下,由于我在创建Pytorch虚拟环境的时候,出现了许多问题,实乃“难于上青天”,所以在撰写的时候我将配置国内源放在这里,也就是我是在解决了环境创建后在新建的Pytorch虚拟环境中配置的。但按道理来讲也可以在已有的base环境或者none环境里直接先配置。毕竟有博主的文章提到后续创建环境报错可能是因为国内源未配置好的原因。
清华大学镜像源地址:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
如果已经配置好环境变量了,就可以直接在cmd里执行;没有配置好环境变量的,在Anaconda Prompt中执行命令,我这里选择的是在Anaconda Prompt中执行。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
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 config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
(这里是因为我后面已经配置过了,所以出现warning的情况,问题不大,复制进去就okkkk)
这样就代表配置成功啦。
我在这里面创建创了个寂寞,如果你们也和我一样,那还是推荐下面的传统创建方式。
如果你此步就创建成功了,就可以配置国内源后激活新环境后续啦;然而我的过程并不是一帆风顺,在转圈很久后,出现了CondaHTTPError报错。
去看了下大佬的解答,有具体两种解释报错原因和解决办法,
https://blog.csdn.net/wsjzzcbq/article/details/101052960
https://blog.csdn.net/qq_41282258/article/details/98961667
本来是想着实践一下顺便讲讲能否解决的,然后在准备用这些方法解决的路上,迷离的我感觉已经无法用语言来表达了…我花了3天四处寻找解决方案,然后在某些方法还没适用时,尝试了非常多次,当我再次准备将这个报错具体情况写进这篇文章时,离奇的就这样很突然的就done创建好了(cmd内)。这…可能也是网络问题,所以大家如果创建遇到问题不要灰心,不妨可以多来几次。如果不行,就按照上面两个博主的方法试一试吧。
如果上述方法都仍未创建成功,那可能就是你在cmd里无法进行了(我猜的),于是我们就打开Anaconda Prompt,在这里面创建新的虚拟环境。
方法和在cmd内创建完全相同,输入conda create -n pytorch1.6 python=python 3.7,然后就如图所示,在?后面输入“y",代表yes,go on 继续,然后就创建好啦。
创建好后,无论是在Anaconda Prompt还是在cmd内,输入conda env list 查看已有环境,
我们可以看到,新的虚拟环境都属于创建成功啦。因为我在Anaconda Prompt内没有报错一次性成功了,所以推荐大家也可以在Anaconda Prompt里创建好了后,在cmd或者Anaconda Navigator中的environment内查看是否创建成功。
输入“conda activate<环境名>”,即可激活。
也可通过此命令,切换环境。
根据自己的需求和本机情况设定选择对应的选项,(这里我还是抱着不到黄河心不死的念想,勾选了cuda10.2,因为没有10.0,又不想none)。
注意了!由于需要国内源,因此我们需要将官网的 -c pytorch给去掉,复制
conda install pytorch torchvision cudatoolkit=10.2
到我们创建的虚拟环境中去,如果你okk了,恭喜你,可以测试是否安装成功了;但我路途比较坎坷。无论是带有cuda10.2 还是none的pytorch,遇到了CondaHTTPError和PackagesNotFoundError报错。
万里长征路,又踩到坑了…
然后没有找到解决办法,然后老老实实放弃conda安装,尝试按照pytorch官网的pip安装pytorch的语句安装试了几下。
开心坏了,感觉能行,然而结果是龟速前行到了3%,超时报错了。
好想知到为什么配置了国内镜像还是这么慢,也没有成功…还尝试了去清华源站下载了对应的包,离线安装。结果还是没有成功。
好吧,坑都踩完了,然后烂尾了…
在线求助大佬们,如何解决Pytorch安装报错问题。