欢迎大家关注笔者,你的关注是我持续更博的最大动力

原创文章,转载告知,盗版必究

yolov5的3.0版本代码在训练的时候报错:ImportError: cannot import name ‘amp‘ from ‘torch.cuda‘ 以及yolov5的3.0环境安装

文章目录:

  • 1 错误原因分析
  • 2 错误解决方法一
  • 3 错误解决方法二
  • 4 最终错误解决方法

本人环境声明:

  • 系统环境Ubuntu18.04.1
  • cuda版本10.2.89
  • cudnn版本7.6.5
  • torch1.6.0
  • torchvision0.7.0

1 错误原因分析

yolov5的3.0版本代码在训练的时候报错:ImportError: cannot import name 'amp' from 'torch.cuda'

(yolov5) shl@zfcv:~/project/yolov5_v3_0820$ ./4_clothes_shoes_hat_v1_train
Traceback (most recent call last):File "train.py", line 16, in <module>from torch.cuda import amp
ImportError: cannot import name 'amp' from 'torch.cuda' (/home/shl/anaconda3/envs/yolov5/lib/python3.7/site-packages/torch/cuda/__init__.py)

2 错误解决方法一

然后我就开始尝试解决这个问题,在网上看到issues的解决方法,这可能可cuda和pytorch的版本问题,具体解决方法如下:

1、查看你的cuda和pytorch的版本

nvcc --version 或 cat usr/local/cuda-[version]

2、如果你的cuda是10.0,请在这里检查你的pytorch的对应版本

3、重新安装cuda10.0对应的pytorch

pip install torch==1.4+cu100 torchvision==0.5.0+cu100 -f https://download.pytorch.org/whl/torch_stable.html

我的pytorch安装的就是torch==1.4+cu100 torchvision==0.5.0+cu100,但是我的cuda是10.2版本,但是我并不像改变这个版本!

3 错误解决方法二

之前在yolov5的v2版本中,train.py的apex使用代码如下:

(yolov5) shl@zfcv:~/project/yolov5_v3_0820$ cat ~/shl/yolov5/train.py -n1  import argparse23  import torch.distributed as dist4  import torch.nn.functional as F5  import torch.optim as optim6  import torch.optim.lr_scheduler as lr_scheduler7  import yaml8  from torch.utils.tensorboard import SummaryWriter910  import test  # import test.py to get mAP after each epoch11  from models.yolo import Model12  from utils.datasets import *13  from utils.utils import *1415  mixed_precision = True16  try:  # Mixed precision training https://github.com/NVIDIA/apex17      from apex import amp18  except:19      print('Apex recommended for faster mixed precision training: https://github.com/NVIDIA/apex')20      mixed_precision = False  # not installed

于是我把train.pyfrom torch.cuda import amp修改为:from apex import amp

1、首先安装amp,如果没有安装会提示库包不存在

(yolov5) shl@zfcv:~/project/yolov5_v3_0820$ ./4_clothes_shoes_hat_v1_train
Traceback (most recent call last):File "train.py", line 18, in <module>from apex import amp
ModuleNotFoundError: No module named 'apex'

2、安装好之后又再执行训练,报错如下

报错:TypeError: Class advice impossible in Python3. Use the @implementer class decorator instead.

(yolov5) shl@zfcv:~/project/yolov5_v3_0820$ ./4_clothes_shoes_hat_v1_train
Traceback (most recent call last):File "train.py", line 18, in <module>from apex import ampFile "/home/shl/anaconda3/envs/yolov5/lib/python3.7/site-packages/apex/__init__.py", line 18, in <module>from apex.interfaces import (ApexImplementation,File "/home/shl/anaconda3/envs/yolov5/lib/python3.7/site-packages/apex/interfaces.py", line 10, in <module>class ApexImplementation(object):File "/home/shl/anaconda3/envs/yolov5/lib/python3.7/site-packages/apex/interfaces.py", line 14, in ApexImplementationimplements(IApex)File "/home/shl/anaconda3/envs/yolov5/lib/python3.7/site-packages/zope/interface/declarations.py", line 706, in implementsraise TypeError(_ADVICE_ERROR % 'implementer')
TypeError: Class advice impossible in Python3.  Use the @implementer class decorator instead.
(yolov5) shl@zfcv:~/project/yolov5_v3_0820$

3、解决错误(参考):TypeError: Class advice impossible in Python3. Use the @implementer class decorator instead.

从apx的github主页的源码进行安装,如下:

git clone https://github.com.cnpmjs.org/NVIDIA/apex.git
cd apex
python setup.py install

然后错误完美解决,但是,紧接着又报错:AttributeError: module 'torch.nn' has no attribute 'Hardswish'

nn.Hardswish这个激活函数应该是torch1.6中刚有的,yolov5官方也说了,在yolov5的3.0版本要保证torch>=1.6,我C C 艹

无奈,我只能重新建一个虚拟环境,然后乖乖安装torch1.6版本了!

#4 最终解决方法

1、新建虚拟环境

conda create -n yolov5-v3 python=3.7

2、激活虚拟环境

conda activate yolov5-v3

3、下载安装pytorch1.6

先去Pytorch官网查看pytorch1.6对应依赖的cuda版本

使用如下的下载命令:

pip install torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

4、安装yolov5-v3的依赖库包

pip install -r requirements.txt

torch.nn.modules.module.ModuleAttributeError: ‘BatchNorm2d’ object has no attribute ‘_non_persistent_buffers_set’

查看官网issues,其中说的解决方法是更改torch的版本

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

然后我安装了torch1.5.1之后,开始训练时又报错:AttributeError: module 'torch.nn' has no attribute 'Hardswish'这TMD是死循环吗,我决定放弃了!

4 最终错误解决方法

还好没放弃,终于等到你!!!

具体参考这篇博客,我就不在这里在罗列了!

  • 博客地址:https://shliang.blog.csdn.net/article/details/108219810





♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

yolov5的3.0版本代码在训练的时候报错:ImportError: cannot import name ‘amp‘ from ‘torch.cuda‘ 以及yolov5的3.0环境安装相关推荐

  1. 解决ElementUI导 航栏中的vue- router在3 .0版本以 上重复点菜单报错问题

    前言:在使用ElementUI中的导航时,默认情况下如果重复点击某选项,会报错,虽然对项目没啥影响,但红色报错真的很难受. 诺! 可以在router的配置文件中(router -> index. ...

  2. yolov5-5.0版本代码详解----augmentations.py的augment_hsv函数

    yolov5-5.0版本代码详解----augmentations.py的augment_hsv函数 1.用途 图片的hsv色域增强模块 2.调用位置 在datasets.py的LoadImagesA ...

  3. import dlib,报错:ImportError: libcublas.so.10.0: cannot open shared object file: No such file or direc

    import dlib,报错:ImportError: libcublas.so.10.0: cannot open shared object file: No such file or direc ...

  4. ceph mon 无法启动,报错:ceph-12.2.11/src/mon/AuthMonitor.cc: 157: FAILED assert(ret == 0)

    版本 Ceph Luminous 12.2.11 报错信息 /home/jenkins-build/build/workspace/ceph-build/ARCH/arm64/AVAILABLE_AR ...

  5. eclipse2022.6版本新建maven项目时pom报错:Cannot find the declaration of element ‘project‘. pom.xml

    新建maven项目时,pom.xml文件默认是这样的: < project xmlns= " http://maven.apache.org/POM/4.0.0 " xmln ...

  6. php 怎么开启错误报告,总结PHP开启关闭错误报告示例代码以及PHP脚本不报错的原因...

    总结PHP开启关闭错误报告示例代码以及PHP脚本不报错的原因 分类:PHP_Python| 发布:佚名| 查看: | 发表时间:2014/8/28 那么如果PHP脚本不报语法错,会是什么原因呢: 1. ...

  7. 解决idea的html代码中使用es6语法报错的问题

    解决idea的html代码中使用es6语法报错的问题 参考文章: (1)解决idea的html代码中使用es6语法报错的问题 (2)https://www.cnblogs.com/mayiaction ...

  8. pip下载包报错ERROR: Could not find a version that satisfies the requirement xxxx==1.0.2 (from versions

    我在安装pymysql的时候报错 ERROR: Could not find a version that satisfies the requirement pymysql==1.0.2 (from ...

  9. kafka完美解决报错:Error while executing topic command:Replication factor:3 larger than available brokers:0

    kafka完美解决报错:Error while executing topic command:Replication factor:3 larger than available brokers:0 ...

最新文章

  1. css3 卡片亮光_利用css3实现文字亮光特效的代码
  2. anaconda安装及环境变量配置
  3. python需要配置环境变量吗_教你手动设置python环境变量
  4. Android应用开发—FragmentManager如何管理fragments
  5. R语言学习 - 图形设置中英字体
  6. 微软企业库mysql分页存储_使用微软企业库,非分页sql语句得到分页数据方法
  7. POJ 2847 Widget Factory
  8. Android学习笔记---28_网络通信之通过HTTP协议实现文件上传,组拼http 的post方法,传输内容
  9. Python 爬取 201865 条《隐秘的角落》弹幕,发现看剧不如爬山?
  10. 没有任何匹配: mod_auth_mysql 阿里云_文案丨网易云让人感触良多的文案
  11. 学计算机笔画,学汉字学笔顺电脑版
  12. Error running ...: No jdk for module
  13. html5加号展开减号缩减,CSS3 linear-gradient线性渐变生成加号和减号的方法
  14. HCIP H12-223 题库
  15. Datawhale组队学习 Task05:字符串(2天)
  16. Robomaster视觉组成长之路
  17. 性别歧义代词(GAP) 2019年 NLP 研讨会性别偏见问题共同任务--阅读笔记
  18. Elasticsearch7.6.2 rpm集群部署及异常处理
  19. 计算机科学学现代,现代计算机科学的鼻祖,编程界的上帝:唐纳德
  20. [Android] 迅游加速器 5.1.26.1免费版 2020.6.16更新

热门文章

  1. HTML基础之CSS
  2. 解决 Out of range value adjusted for column 'ID' at row 1
  3. 架设httpd服务器
  4. iBatis学习网站推荐
  5. 避免表格table被撑开变形的CSS代码实例
  6. (原) ODP.NET 演示通过结果集的锁顶来更新 LOB 数据
  7. java是什么 需要学什么_Java是什么,Java需要学习哪些内容?如何自学Java?
  8. python怎样在已有excel文件指定行写入-Python中使用第三方库xlrd来写入Excel文件示例...
  9. python界面设计实例-【Python】Tkinter图形界面设计(GUI)
  10. 开课吧python学费-分享一个小白也能月赚2万的新技能