切换版块
×
基础软件平台
PyTorch开发
TensorFlow开发
编解码及SDK开发
BANG语言与计算库
开发工具链
MagicMind开发
软件栈百科
云平台集成
硬件产品专区
MLU370系列AI加速卡
MLU270系列AI加速卡
MLU220系列AI加速产品
经验方案交流区
经验案例与实践分享
开发者服务
开发者活动
公告与版务
高校支持
《智能计算系统》
签到
版块
社区
文档
SDK下载
370系列
200系列
开发平台
官网首页
注册
登录
全部版块
基础软件平台
硬件产品专区
经验方案交流区
开发者服务
高校支持
发布新帖
登录/注册
LV.1
lanhao
202
积分
5
赞
1
帖子
5
回复
4
收藏
TA的动态
TA的帖子
TA的回复
yolov5移植,yolov5 int8量化后,再逐层或者融合,输出目标框变得不准,目标框变大。
我的回复:#15htujun回复你好,已经修改models/yolo.py文件,已添加detection out后处理算子,按官方教程:https://developer.cambricon.com/index/curriculum/expdetails/id/13/classid/8.html 中的逐层部分;展开1、查看一下cnplugin版本是不是低于1.12.4 2、使用core number=1,看下精度
1
yolov5移植,yolov5 int8量化后,再逐层或者融合,输出目标框变得不准,目标框变大。
我的回复:#12htujun回复最后我的疑问:我为什么认为是量化出的问题的可能性?我分别训练三次不同数据集(目标尺寸不一样),分别进行cup推理、int8量化、逐层推理的实验(core number =4),三次实验结果:第一、训练数据集的目标尺寸:大目标、中、小目标,int8量化后的逐层推理与int8量化前cpu推理输出结果相近;第二、训练数据集的目标尺寸:大目标、中、小目标、极小目标(数据集的1/10),int8量化后的逐层推理与int8量化前cpu推理输出结果相差很大,如我发帖的两张图;第三、训练数据集的尺寸:中目标、小目标、极小目标,int8量化后的逐层推理与int8量化前cpu推理输出结果相差很大,类似如我发帖的两张图;以上实验表明了,第一次实验的int8量化正常,第二、第三次实验的int8量化不正常,因此我的量化步骤应该没有问题,具体什么问题说不清;展开有没有加yolov5 detection out后处理算子?
1
yolov5移植,yolov5 int8量化后,再逐层或者融合,输出目标框变得不准,目标框变大。
我的回复:#6htujun回复最后我的疑问:我为什么认为是量化出的问题的可能性?第一、训练数据集:大目标、中、小目标,int8量化后的逐层推理与int8量化前cpu推理输出结果相近;第一、训练数据集:大目标、中、小目标、极小目标(加入1/10),int8量化后的逐层推理与int8量化前cpu推理输出结果相差很大,如我发帖的两张图;第一、训练数据集:中、小目标、极小目标,int8量化后的逐层推理与int8量化前cpu推理输出结果相差很大,类似如我发帖的两张图;以上说明了,我的量化步骤应该没有问题,具体什么问题说不清;展开这段话没看懂
1
yolov5移植,yolov5 int8量化后,再逐层或者融合,输出目标框变得不准,目标框变大。
我的回复:#4htujun回复第三、 如果CPU模拟量化的结果误差与MLU接近,那说明是量化导致的; 如果CPU模拟量化的结果误差与MLU接近,那说明是量化导致的;是指int8量化后框到目标、分类、置信度与int8量化前相近,代表量化成功。展开先确认框解码前的三个输出与cpu的三个输出的mse,再看是不是后处理算子的问题。此外1.7.0版本的yolov5后处理在设置core number =4 或16时可能会有问题,在确认后处理有没有添加正确时请设置core number=1
1
yolov5移植,yolov5 int8量化后,再逐层或者融合,输出目标框变得不准,目标框变大。
我的回复:#3htujun回复第二、cambricon pytorch提供了 CPU模拟量化工具,模拟数据量化和反量化的过程。是指如下代码量化过程吗? global quantized_model if opt.cfg == 'qua': qconfig = {'iteration':2,'firstconv':False} quantized_model = mlu_quantize.quantize_dynamic_mlu(model, qconfig, dtype='int8', gen_quant=True) ... if opt.cfg == 'qua': pred = quantized_model(img)[0] torch.save(quantized_model.state_dict(), 'yolov5s_int8.pt')展开模拟量化工具的使用可参见cambricon pytorch手册 10.2.1 模拟 MLU 量化推理工具
1
yolov5移植,yolov5 int8量化后,再逐层或者融合,输出目标框变得不准,目标框变大。
我的回复:#2htujun回复非常感谢您的答复,对您的回复我总结:第一、iteration参数的确在sdk 1.7.0版本已经被弃用了,量化后的警告:The 'iteration' key in qconfig has been deprecated in this version. Users needn't set this key. We will calculate quantization parameters by real forward times controlled by users. 其次,iteration的参数即是推理张数, 还有iteration已经被弃用,那么最新配置量化的字典qconfig具体内容包含什么?展开包含内容参见手册10.1.1使用量化接口章节中的 “qconfig_spec:配置量化的字典。”
1
Segmentation fault (core dumped)
我的回复:#2誓约回复[图片]目前比较有效的方法是二分法注释掉部分代码去确定到底是在哪儿出的问题。
0
能否支持获取中间层的的输出结果
我的回复:#2家乡的日出回复np.savetxt保存中间层的结果,能不能分享个例子?用个简单点的例子都可以。np.savetxt(\"Linear_output_mlu.txt\", out.cpu().numpy().flatten(), fmt=\'%.5f\')
0
yolov3移植过程样例
我的回复:您好,您的离线模型能够正常生成吗?
0
yolov5移植,yolov5 int8量化后,再逐层或者融合,输出目标框变得不准,目标框变大。
我的回复:cambricon pytorch提供了 CPU模拟量化工具,模拟数据量化和反量化的过程。 如果CPU模拟量化的结果误差与MLU接近,那说明是量化导致的;反之,是其他问题导致的。具体可参见cambricon pytorch手册。iteration在sdk 1.7.0版本中已经没用了,具体量化图片张数是根据推理张数来确定的
1
上一页
1
2
3
4
5
6
7
8
9
10
下一页
Github
开发平台
文档中心
新手必读
官方微信
版权所有 © 2024 寒武纪 Cambricon.com 备案/许可证号:
京ICP备17003415号-1
关闭