Comments (31)
试试脚本里面的convert_efficient_to_yolov5函数,需要同时抓一下您训好的ET模型和您原来的那个yolov5模型,重新存成一份新的yolov5可以识别的模型
from efficientteacher.
试试脚本里面的convert_efficient_to_yolov5函数,需要同时抓一下您训好的ET模型和您原来的那个yolov5模型,重新存成一份新的yolov5可以识别的模型
转换的时候报错:ModuleNotFoundError: No module named 'models.detector.yolo_ssod'
我传的参数convert_efficient_to_yolov5(mula_path='best.pt', map_path='map.txt', yolov5_path='/share/disk1/ml/code/yolov5-master/runs/train/exp3/weights/best.pt', save_path='./finish_model/yolov5x.pt')
第一个是训好的ET模型,第三个是原本的yolo模型
from efficientteacher.
知道您的状态了,我来修一下代码 @Ma-Liang-hub
from efficientteacher.
@Ma-Liang-hub 您好,我这边用我们上传的模型转出到标准YOLOv5的格式,用6.2版本的val.py推出来的coco mAP是一致的,您试试。
from efficientteacher.
@Ma-Liang-hub 您好,我这边用我们上传的模型转出到标准YOLOv5的格式,用6.2版本的val.py推出来的coco mAP是一致的,您试试。
可以是可以了,但转出之后map[50:95]从0.618降到了0.478.。。。。。。。太惨了
from efficientteacher.
@Ma-Liang-hub 您好,我这边用我们上传的模型转出到标准YOLOv5的格式,用6.2版本的val.py推出来的coco mAP是一致的,您试试。
我用的也是6.2版本的val.py测的
from efficientteacher.
@Ma-Liang-hub 您好,我这边用我们上传的模型转出到标准YOLOv5的格式,用6.2版本的val.py推出来的coco mAP是一致的,您试试。
我用的也是6.2版本的val.py测的
from efficientteacher.
@Ma-Liang-hub 可能是anchor没有转出来,我转的时候跳过anchor了,您的anchor是重新聚的么,因为我验过coco上的准确率是一模一样的
from efficientteacher.
@Ma-Liang-hub 可能是anchor没有转出来,我转的时候跳过anchor了,您的anchor是重新聚的么,因为我验过coco上的准确率是一模一样的
我用的默认的anchor
from efficientteacher.
@Ma-Liang-hub 可能是anchor没有转出来,我转的时候跳过anchor了,您的anchor是重新聚的么,因为我验过coco上的准确率是一模一样的
我用的默认的anchor
from efficientteacher.
@Ma-Liang-hub 可能是anchor没有转出来,我转的时候跳过anchor了,您的anchor是重新聚的么,因为我验过coco上的准确率是一模一样的
您觉得还可能是因为什么原因呢?我训练测试ET模型和标准yolo模型的conda环境不一样(pytorch版本不一样),这会有影响吗
from efficientteacher.
@Ma-Liang-hub 不太会有影响,我用了两个torch版本的容器分别测过,您两边用的验证时用的conf_thresh和iou_thresh是一样的吗?还有更多的细节能提供给我吗
from efficientteacher.
@Ma-Liang-hub 您好,请问这个问题解决了吗?精度能对上吗
from efficientteacher.
@Ma-Liang-hub 您好,请问这个问题解决了吗?精度能对上吗
您好,还是不太行,我说我的val过程:
ET模型val命令:python val.py --cfg configs/ssod/custom/yolov5l_custom_ssod.yaml --weights yolov5_ssod/exp3/weights/best.pt --val-ssod 【参数为默认:nms_conf_thres: 0.1 nms_iou_thres: 0.65】
转出yolov5后val: python val.py --weights ..../yolov5x.pt --data ..../data/coco128.yaml --img 640 --conf-thres 0.1 --iou-thres 0.65
val结果:前者为61.8%;后者为50.2%
from efficientteacher.
@Ma-Liang-hub 您好,我们val的默认参数conf是0.001,所以val.py里也需要加上--conf-thres 0.1 --iou-thres 0.65的命令,完整的命令 是
python val.py --cfg configs/ssod/custom/yolov5l_custom_ssod.yaml --weights yolov5_ssod/exp3/weights/best.pt --val-ssod --conf-thres 0.1 --iou-thres 0.65
from efficientteacher.
from efficientteacher.
您好,日志显示您用来存的那个yolov5模型有80个类,而efficientteacher的模型类别不是80,您需要用标准yolov5在自己数据集上训的pt作为导出时的引导pt
from efficientteacher.
@BowieHsu 您好,我的训练后的类别是2类,我尝试了一下,如果nc=80那么转ET或者转pt都可以,但是目前我的模型只能是nc=2,想问一下这种情况如何转到pt
from efficientteacher.
@Ma-Liang-hub 您好,我们val的默认参数conf是0.001,所以val.py里也需要加上--conf-thres 0.1 --iou-thres 0.65的命令,完整的命令 是 python val.py --cfg configs/ssod/custom/yolov5l_custom_ssod.yaml --weights yolov5_ssod/exp3/weights/best.pt --val-ssod --conf-thres 0.1 --iou-thres 0.65
这下差距变更大了,ET模型上升到64.5%的map
from efficientteacher.
@Ma-Liang-hub 您好,请问这个问题解决了吗?精度能对上吗
当初转ET模型的时候,map转成ET上升了0.7%,半监督训练完成后,相比刚转完的ET模型map提升0.8%,最终转回yolo模型后map狂降13.6%............
from efficientteacher.
@Ma-Liang-hub 您好,请问这个问题解决了吗?精度能对上吗
转出yolo模型这里有个疑惑:
yolov5_ckpt['model'] = deepcopy(yolov5_model)
yolov5_ckpt['ema'] = deepcopy(yolov5_model)
ckpt['updates'] = 0
torch.save(yolov5_ckpt, save_path)
为啥要拷贝两份模型导出呢?
from efficientteacher.
@Ma-Liang-hub 您好想问一下您ET转PT的是怎么操作的?
from efficientteacher.
@Ma-Liang-hub 您好想问一下您ET转PT的是怎么操作的?
就是执行convert_pt_to_efficient.py:convert_efficient_to_yolov5(efficient_path='./best.pt', yolov5_path='./weights/best.pt', save_path='./yolov5x.pt')
from efficientteacher.
您的这个yolov5_path='./weights/best.pt'是之前跑有监督的时候生成的模型吗?我导出之后发现直接放入yolov5的detect无法运行
from efficientteacher.
@Ma-Liang-hub 您好,我参考的是运行完对ckpt的操作,在训练时,会存下每个epoch的model和ema,然后在训练结束后,会把ema的权重赋给model
from efficientteacher.
@Ma-Liang-hub 您好,我参考的是运行完对ckpt的操作,在训练时,会存下每个epoch的model和ema,然后在训练结束后,会把ema的权重赋给model
目前这个代码中有伪标签阈值自适应的功能吗,动态计算的过程在哪里呀,我看了半天代码貌似没找到
from efficientteacher.
请问我转换权重文件这里是不是理解有问题:best.py指官方v5转ET;yolov5s_custom.yaml指只修改过depth_multiple、width_multiple、nc和classes的此代码文件;efficient_v5.pt是转换成ET的权重文件
from efficientteacher.
@delicate00 您好,您的理解是正确的
from efficientteacher.
@delicate00 您好,您的理解是正确的
您好,我需要根据我在官方上改进后训练的配置文件去修改一下 下载et源码中的yolov5s_custom.yaml文件吗?还是说我只需要修改一下“depth_multiple、width_multiple、nc和classes”这些参数即可呢?因为我标准转ET后,用val.py文件验证,各项指标都为0,是跟我用标准训练出来的权重有关系吗?
from efficientteacher.
@BowieHsu 您好,直接进行半监督训练,训练完成后转onxx,
1、直接使用 python export.py --weights yolov5_ssod/exp/weights/best.pt --imgsz 640 --simplify --opset 11 --device 1 --include 'onnx'
2、报错:ONNX: export failure: ONNX export failed: Couldn't export Python operator GradReverse,请问怎么解决?
3、et模型需要先转标准yolov5 然后转onnx?
from efficientteacher.
试试脚本里面的convert_efficient_to_yolov5函数,需要同时抓一下您训好的ET模型和您原来的那个yolov5模型,重新存成一份新的yolov5可以识别的模型
转换的时候报错:ModuleNotFoundError: No module named 'models.detector.yolo_ssod' 我传的参数convert_efficient_to_yolov5(mula_path='best.pt', map_path='map.txt', yolov5_path='/share/disk1/ml/code/yolov5-master/runs/train/exp3/weights/best.pt', save_path='./finish_model/yolov5x.pt') 第一个是训好的ET模型,第三个是原本的yolo模型
老铁,这个报错你怎么解决的
试试脚本里面的convert_efficient_to_yolov5函数,需要同时抓一下您训好的ET模型和您原来的那个yolov5模型,重新存成一份新的yolov5可以识别的模型
转换的时候报错:ModuleNotFoundError: No module named 'models.detector.yolo_ssod' 我传的参数convert_efficient_to_yolov5(mula_path='best.pt', map_path='map.txt', yolov5_path='/share/disk1/ml/code/yolov5-master/runs/train/exp3/weights/best.pt', save_path='./finish_model/yolov5x.pt') 第一个是训好的ET模型,第三个是原本的yolo模型
大佬这个你怎么解决的
from efficientteacher.
Related Issues (20)
- 请问有人知道怎么复现的吗?我只能自己运行val.py,train.py要怎么操作? HOT 1
- 训练Cityscapes数据集,精度为0怎么回事
- coco_1p的yaml配置文件中的teacher_loss_weight是3.0吗?
- 私人数据集上的数据集在半监督中的划分 HOT 1
- 关于keypoint检测
- yolov7
- 训练血细胞分割得到的map和p和R一直是0 HOT 1
- 加载全监督训练模型进行半监督训练,检测精度低 HOT 1
- not found lables HOT 1
- 模型剪枝
- problem with !bash get_coco.sh
- 有关efficient teacher项目问题
- tp,fp_loc指标同时过高,且模型始终没有收敛
- 错误
- RuntimeError: result type Float can't be cast to the desired output type long int HOT 2
- 半监督训练的时候报错,错误如下
- 在个人数据集上使用efficientteacher项目,疑似出现过拟合严重的情况。 HOT 1
- covert yolov8 to efficient teacher
- Efficient teacher for yolov7
- 有人知道yolov8为什么效果很差么 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from efficientteacher.