网站建设论文 优帮云,中信建设有限责任公司官网英文,wordpress中数据库配置文件,做网站和做产品源码目录--AI0000026/ --models/ #存放原始模型文件 --scripts/ #存放模型编译、量化所用到的命令脚本#xff0c;标签格式转换的脚本。 --data/ #存放B榜数据集102张图片 --bmodel/ #存放编译或量化生成的xxx.bmodel --test/ #存放执行推理的代码#xff0c;会调用bmodel/中…源码目录--AI0000026/ --models/ #存放原始模型文件 --scripts/ #存放模型编译、量化所用到的命令脚本标签格式转换的脚本。 --data/ #存放B榜数据集102张图片 --bmodel/ #存放编译或量化生成的xxx.bmodel --test/ #存放执行推理的代码会调用bmodel/中的xxx.bmodel最终结果存放在result/中 --result/ #存放推理生成的结果与提交到github上的文件一致。 --README.md #执行推理程序相关的说明要求简洁、清楚能够复现推理过程。 环境安装及操作步骤1)下载SDK软件包wget https://sophon-file.sophon.cn/sophon-prod-s3/drive/22/08/15/09/bmnnsdk2_bm1684_v2.7.0_20220810patched.zip 2)解压缩SDK包apt-get install unzipunzip bmnnsdk2_bm1684_v2.7.0_20220810patched.ziptar -zxvf bmnnsdk2-bm1684_v2.7.0.tar.gz 3)安装库cd ./bmnnsdk2-bm1684_v2.7.0/scripts./install_lib.sh nntc 4)设置环境变量source envsetup_cmodel.shsource envsetup_pcie.sh bmnetp $$需要注意的是导出的环境变量只对当前终端有效每次进入容器都需要重新执行一遍 5)安装sophon包cd ./bmnnsdk2-bm1684_v2.7.0/lib/sail/python3/pcie/py37pip3 install sophon-2.7.0-py3-none-any.whl 6)推理并保存结果cd ../testpython3 yolov7_opencv_3output.py --bmodel ../bmodel/compilation.bmodel --input ../data/ --label label_name --conf 0.001 7)复制结果到result目录cp -r output/yolov7_opencv_3output/bmodel/labels/ ../result/ 数据分析通过分析数据集的特点我们可以发现图片中的人和车有着不同的尺度和密度如上图所示同一目标和不同目标尺度都相差巨大。 由于卷积神经网络下采样作用会使得原始图片上的区域在经过卷积后尺寸变小特别是远距离的目标区域将会丢失特征导致精度降低因此有必要将不同尺度的特征图进行特征融合并进行分别预测同时为保证人车图片的推理效果适当的增大图片尺寸有利于提高检测效果但计算量也会呈指数级增加我们需要兼顾精度和速度。 基线选择和评价指标YOLOV7是目前YOLO系列最先进的算法在准确率和速度上超越了以往的YOLO系列。我们选择最新的YOLOv7进行图片的训练和验证评测指标包括精度和速度两个方面。在精度方面通过mean Average Precision(mAP)评估模型精度在速度方面通过模型推理时间i_time评估模型性能i_time为数据集图片推理的平均时间单位为ms。最终得分计算公式为score mAP*100(1000-i_time)*0.1 模型介绍YOLOv7主要优点和创新点包括1、在训练中采用多种“免费”训练技巧极大地提高了实时检测器的检测精度。其中“免费”指仅在训练过程中起作用不增加推理过程时间消耗。2、不同的特征融合方式和多尺度特征预测头可以提高模型对不同尺度的人车的精度。3、提出了一种复合放缩的方法来更有效地利用实时检测器的参数和计算量提高推理速度。4、YOLOv7比当前最优模型参数量小计算量少拥有更快的推理速度和更高的检测精度。 模型网络结构模型训练和验证模型Test SizemAPi_timeyolov7-tiny64066.8%2.2msyolov764077.4%2.9msyolov7x64077.3%4.0msyolov7-e6e128081.7%15.7ms 我们将官方给出的训练集划分出102张图片作为验证集并采用不同版本的YOLOv7进行推理实验如上表所示yolov7算法在精度和推理速度达到较好的平衡因此选择yolov7作为后续实验的推理模型。 基于TPU平台的移植开发1.首先是研究官方提供demo的整体流程从服务器环境、SDK环境到移植开发。2.研究发现在其他条件相同的条件下图片大小的缩放会直接影响推理的精度和速度一个好的缩放比例能够保证图片缩小的情况下精度不降但是如果调整的不好的话精度有可能会下降明显我们可以尝试修改图片预处理时的图片大小。3.除此之外batch size和不同的前处理方法也会直接影响推理的速度包括3output和1outputpython版的bmcv_3outputopencv_3output和pytorchpython推理方式和C推理方式4.量化工具其他改进策略和参数 推理优化部分图片大小的缩放及模型预测前处理部分通过缩放图片大小查看mAP和FPS的变化随着YOLO模型复杂度和图片尺寸的增加score逐渐降低并且前处理Python版OpenCV比BMVC和Pytorch要快,且INT8综合分数通常低于FP32。从下表可以看出最佳的成绩预处理设置图片尺寸640*640是效果最好的故选择YOLOv7算法模型输入大小固定为640*640Batch Size固定为1FP32 BModel模型推理作为最终方案。 modelimg_sizemAP0.5i_time(FP32_opencv)i_time(FP32_bmvc)yolov76400.774102114 7680.788146230 8000.79160-yolov7x6400.773159.4170 8640.797 9600.805 yolov7e6e6400.727 8640.788 9600.796 12800.817633 遇到的问题1.模型移植开发环境不熟悉开发流程不熟练。解决查阅SDK开发文档理解并实践。2.在模型转换过程中遇到许多bug如转换成int8model时会出现核心错误。解决认真查阅开发文档和资料模型转换过程输入不匹配需重新转换等 总结与感悟通过该比赛了解到模型落地的困难认识到模型部署还是存在很大的研究价值同时学习并使用了国产TPU进行量化和推理了解了深度学习从模型训练、验证到量化、部署等一体化完整的过程这锻炼了我的开发和解决问题的能力。比较遗憾的是由于时间不足没有对INT8量化造成较大精度损失原因进一步分析也没有更加深入研究官方量化工具其他改进策略。希望日后能更加深入理解和使用TPU的量化工具也感谢主办方和承办方等各单位提供本次竞赛的平台和资源也感谢算能科技工作人员的热心解答希望算能科技越发壮大推动国内人工智能产业的发展。 AI算法创新赛https://www.sophgo.com/competition/introduction.html?id2