【人工智能实验室】2022寒假第二次培训(包含环境配置)

        此次培训为写模型预测代码。在描述代码前,我先将自己配环境的血泪史附上。

        笔者一开始创建了一个torch版本1.2.0、CUDA版本10.0的虚拟环境,但是由于torch版本不够,所以运行后会报错,跑不了此次培训代码,这是因为1.2.0的torch没有Hardswish这个属性,只有更高级的版本才有。以下网址打开可以查看torch版本即它们对应的属性和方法有哪些。

https://pytorch.org/docs/versions.htmlhttps://pytorch.org/docs/versions.html        于是我就决定安装torch1.9.0,但是又不想删去已有的虚拟环境(因为还有其他用处),所以重新创建了一个虚拟环境。一开始我用轮子的方式来装torch,没有注意到cpu和gpu版本的区别,结果装了cpu版本的torch,而我需要的是gpu版本,于是乎只能重新安装gpu版本的环境了。附上轮子下载的网页:

https://download.pytorch.org/whl/torch_stable.htmlhttps://download.pytorch.org/whl/torch_stable.html

        如图,如果用轮子安装的,文件名前面为cpu的表示cpu版本;前面为cu的才是gpu版本,cu102表示CUDA10.2。同理,用轮子安装torchvision也是通过这样的方式来下载对应版本。 

        当我好不容易安装好gpu版本torch的时候,我没有意识到torch、torchvision、CUDA三者版本之间的对应性,想当然装了自己想要的版本,结果没对应好导致根本就无法跑代码。所以悲伤的我只能再一次重新安装想要的torch环境。由于我系统装的CUDA版本是10.0,支持torch的最高版本只到1.2.0,而torch1.9.0对应的CUDA版本之一为10.2。这我就头大了,难道我还要卸载CUDA10.0再去安装CUDA10.2?不过好在后来我发现完全可以在虚拟环境安装其他版本的CUDA,和系统的CUDA的版本不会产生冲突,而且只需要指令就能实现安装,不需要像安装系统CUDA那样那么麻烦(比如什么环境变量配置)。于是我就去pytroch官网找到torch1.9.0、CUDA10.2对应的安装命令,这次安装我没有选择轮子,当然官网也提供了轮子方式的命令下载,读者根据自己的需要选择哪种命令即可。官网链接如下:
Previous PyTorch Versions | PyTorchhttps://pytorch.org/get-started/previous-versions/        

        如图,根据我的需要,我选择了红框处的命令。但是在cmd(终端一定要先激活到虚拟环境然后再用这些命令!!!!)输入命令后发现哪些包安装得极其漫长,等了巨久结果还是没安装成功,所以我上网搜索了方法,指令后面的-c pytorch指定了下载的来源是官网,所以导致速度很慢,如果将下载源换成国内的清华源,速度会提高很多。换源操作如下:

1、使用命令将清华源网址添加conda源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

2、安装命令去掉-c pytorch后在输入终端

conda install pytorch==1.9.0 torchvision==0.10.0 cudatoolkit=10.2

         清华源链接:

anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/help/anaconda/        这下速度真的提高了很多很多很多!!!很快我需要的环境都装好啦!!!最后一步安装cuDNN,这时候只要输入命令conda install cudnn即可,这里不需要指定cudnn版本,终端会根据前面安装的环境自动判断需要的cudnn版本。当然如果读者不放心还是可以到cudnn官网查询对应版本的cudnn版本,然后指令改为conda install cudnn == XXX

        创建一个python文件,copy如下内容再运行可以测试cuda是否可用(可用输出为True)以及其版本。

import torch
print(torch.cuda.current_device())   # 返回当前设备索引
print(torch.cuda.device_count())    # 返回GPU的数量
print(torch.cuda.get_device_name(0))   # 返回gpu名字,设备索引默认从0开始
print(torch.cuda.is_available())   # cuda是否可用
print(torch.version.cuda)  # cuda版本

        准备就绪后,再去跑代码,发现报错

Original error was: DLL load failed while importing _multiarray_umath: 找不到指定的模块,解决方案

        发现这是由于Numpy版本太低了,无法匹配对应的python版本。我用pytorch官网提供的指令安装环境时,有些包也会跟着安装上,其中numpy安装为1.21.2版本,python安装了3.9版本,所以这就说明有时候通过pytorch官网提供的指令下载的自动匹配的包也可能版本不对应。但是这些包的安装相对于torch、torchvision来得容易,只需要先指令卸载pip uninstall xxx(包名,如numpy),然后再用指令pip install numpy即可,同理cudnn,终端会自动匹配对应的numpy。安装完成后查看版本,此时numpy版本为1.22。再次运行代码,成功!!!所以说明Python3.9对应的numpy版本为1.22。单个包的安装指令版本自动配对不会出现问题,但是如果像pytroch官网提供的安装torch的指令下,安装其他自动匹配的包,版本可能会出错。

        终于大功告成!!!

        这里再提醒读者一些细节:

        1、若不用pytorch官网提供的安装torch指令,而使用下载轮子的方式话,需要先了解torch和torchvision以及CUDA三者版本的对应关系(这个直接去百度都有),然后再去分别下载对应版本的轮子。

        2、直接用指令pip install torch == xxx安装的torch为cpu版本。

        3、装环境前一定要先全过程浏览、掌握,不能装一个看一个,这样很容易踩坑!!!

        4、安装太慢除了换清华源还可以用如下方式(来自大佬的博客):

(11条消息) 深度学习环境配置2——windows下的torch=1.2.0环境配置_Bubbliiiing的学习小课堂-CSDN博客_神经网络学习小记录48https://blog.csdn.net/weixin_44791964/article/details/106037141

               5、numpy对应版本的python 链接:

Python Extension Packages for Windows - Christoph Gohlke (uci.edu)https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy                好啦!接下来正式进入培训内容讲解!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wxy.Wd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值