当前位置: 首页 > news >正文

建设政协网站的意义wordpress时尚英文站

建设政协网站的意义,wordpress时尚英文站,张家港网站建设哪家好,友联建设集团官方网站mmdetection转换 文章目录 mmdetection转换mmdetection 自带转换ONNX——无法测试使用mmdeploy(0.6.0)使用mmdeploy转onnx使用mmdeploy直接转tensorRT调试记录 先上结论#xff1a;作者最后是转tensorrt的小图才成功的#xff0c;大图一直不行。文章仅作者自我记录使用#…mmdetection转换 文章目录 mmdetection转换mmdetection 自带转换ONNX——无法测试使用mmdeploy(0.6.0)使用mmdeploy转onnx使用mmdeploy直接转tensorRT调试记录 先上结论作者最后是转tensorrt的小图才成功的大图一直不行。文章仅作者自我记录使用请谨慎参考。 部分版本可参考作者的上篇文章《【mmdeploy】mmdeploy安装linux windows》 mmdetection-2.22.0 自带转 onnx 无法测试MMCVDeformConv2d issue中也说明要转mmdeploy mmdeploy的onnx同样无法测试 mmdeploy整图转tensorRT结果有问题 mmdetection 自带转换ONNX——无法测试 一开始参考官方文档TUTORIAL 8: PYTORCH TO ONNX的教程来进行 CUDA_VISIBLE_DEVICES0 python -u tools/deployment/pytorch2onnx.py \work_dirs/train_skin_220401_maskrcnn/zjw_skin_config_cfnwd3/zjw_final_skin_config.py \work_dirs/train_skin_220401_maskrcnn/zjw_skin_config_cfnwd3/epoch_12.pth \--output-file work_dirs/train_skin_220401_maskrcnn/zjw_skin_config_cfnwd3/dcn_mask_rcnn_nwd.onnx \--input-img /home/wangjy/data/facedata_croped_1209/images/val_whole/CXM__何易霖_痤疮_20200904131918000_斑点.jpg \--test-img /home/wangjy/data/facedata_croped_1209/images/val_whole/CXM__何易霖_痤疮_20200904131918000_斑点.jpg \--shape 3448 4600 \ # --show \ # --verify \--dynamic-export \ # --cfg-options \ # model.test_cfg.deploy_nms_pre-1 \ # work_dirs/train_skin_220401_maskrcnn/zjw_skin_config_cfnwd3/pytorch2onnx.log原项目是版本是2.14.0在转换添加了DCN的Mask R-CNN模型时出现问题 RuntimeError: DeformConv is not implemented on CPU到mmdetection的issus中搜索mmdetection/issues/6047可知是mmcv的版本不够。刚好有个之前安装的2.22.0版本。但采用官方文档中的命令会在经过pytorch2onnx函数的torch.onnx.export(...)调用时直接被Kill没有错误信息。 把以上的命令修改一下精简为 CUDA_VISIBLE_DEVICES0 python -u tools/deployment/pytorch2onnx.py \work_dirs/train_skin_220416_maskrcnn/20220417_124418/skin_config_whole.py \work_dirs/train_skin_220416_maskrcnn/20220417_124418/epoch_14.pth \--output-file work_dirs/train_skin_220416_maskrcnn/20220417_124418/dcn_mask_rcnn.onnx \--shape 3448 4600 \能够输出一个onnx文件但是使用官方文档后续的onnx eval命令还是会报错 Fatal error: MMCVDeformConv2d is not a registered function/op这个时候搜到的一篇博客《Exporting MMDetection models to ONNX format》说可以用openvinotoolkit/mmdetection但我简单看了一下并没有用。而在mmdetection的issues中搜索该报错信息都建议使用mmdeploy。 使用mmdeploy(0.6.0) 在安装mmdeploy的基础上参考文档还需要安装mmdet库可能是商汤自己封装的所以用不了自己定义的方法。 # 克隆 mmdetection 仓库。转换时需要使用 mmdetection 仓库中的模型配置文件构建 PyTorch nn module python -m pip install mmdet2.24.0 # git clone https://github.com/open-mmlab/mmdetection.git export MMDET_DIR$(pwd)/mmdetection# 下载 Faster R-CNN 模型权重 export CHECKPOINT_DIR$(pwd)/checkpoints wget -P ${CHECKPOINT_DIR} https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth# 设置工作路径 export WORK_DIR$(pwd)/mmdeploy_models/faster-rcnn# 执行转换命令实现端到端的转换 python ${MMDEPLOY_DIR}/tools/deploy.py \${MMDEPLOY_DIR}/configs/mmdet/detection/detection_tensorrt_dynamic-320x320-1344x1344.py \${MMDET_DIR}/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \${CHECKPOINT_DIR}/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth \${MMDET_DIR}/demo/demo.jpg \--work-dir ${WORK_DIR} \--device cuda:0 \--dump-info使用mmdeploy转onnx 其中要把配置文件的test处理流程中的Resize行注释掉经过测试发现mmdetection中似乎把它注释了也没什么问题220723不对还是会出问题有待考量否则其会专门处理一下。实际最终命令 python -u tools/deploy.py \configs/mmdet/detection/detection_onnxruntime_dynamic.py \work_dirs/deploy_220721_dcn_mask_rcnn_nwd/zjw_final_skin_config.py \../mmdetection-2.22.0/work_dirs/train_skin_220401_maskrcnn/zjw_skin_config_cfnwd3/epoch_12.pth \/home/wangjy/data/facedata_croped_1209/images/val_whole/CXM__何易霖_痤疮_20200904131918000_斑点.jpg \--work-dir work_dirs/deploy_220721_dcn_mask_rcnn_nwd \--device cuda:0 \--dump-info报错 KeyError: MaskRCNN: RPNHeadNwd is not in the models registry又看了下文档参考文档MMDetection-install可以用pip install -v -e .从本地编译mmdetection cd ../mmdetection-2.22.0 # 我的mmdet2.22.0本地文件 pip install -r requirements/build.txt pip install -v -e . # or python setup.py develop其中由于报错改了一些代码 File /home/wangjy/research/mmdeploy/mmdeploy/codebase/mmdet/models/detectors/two_stage.py, line 58, in two_stage_detector__simple_testproposals, _ self.rpn_head.simple_test_rpn(x, img_metas) ValueError: not enough values to unpack (expected 2, got 1)改为 proposals self.rpn_head.simple_test_rpn(x, img_metas)File /home/wangjy/research/mmdeploy/mmdeploy/codebase/mmdet/models/roi_heads/test_mixins.py, line 44, in bbox_test_mixin__simple_test_bboxesrois.shape[0], devicerois.device).float().view(-1, 1, 1).expand( AttributeError: list object has no attribute shape将上一行的rois proposals改为rois torch.stack(proposals) 最后报错它要51个G这谁顶得住???!!! RuntimeError: CUDA out of memory. Tried to allocate 51.02 GiB (GPU 0; 23.70 GiB total capacity; 2.24 GiB already allocated; 14.99 GiB free; 3.57 GiB reserved in total by PyTorch)发现了一些问题基于mask rcnn的模型应该算实例分割因而把上面的configs/mmdet/detection/detection_onnxruntime_dynamic.py换成了configs/mmdet/instance-seg/instance-seg_onnxruntime_dynamic.py可以成功生成。但进行eval的时候还是会报错 onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from work_dirs/deploy_220721_dcn_mask_rcnn_nwd/onnx_dynamic/end2end.onnx failed:Fatal error: MMCVDeformConv2d is not a registered function/op使用mmdeploy直接转tensorRT 由于mmdetection配置中的coco_instance.py还是不能去掉而--dump-info参数所引发的逻辑要判断Resize中一定要有img_scale参数只好注释掉mmdeploy/backend/sdk/export_info.py中的部分语句该部分应该是仅用来配合--dump-info保存json文件变为 if transforms in pipeline[-1]:transforms pipeline[-1][transforms]transforms.insert(0, pipeline[0])# for transform in transforms:# # 220723: tools/deploy.py 最终调用到这里似乎只是为了保存一个pipline.json文件那你费这个劲# if transform[type] Resize:# transform[size] pipeline[-1].img_scale[::-1]# if img_scale in transform:# transform.pop(img_scale)命令如下可能需要注意tensorRT或者说所有后端的静态static与动态dynamic的区别这里先跑起来再说 python -u tools/deploy.py \configs/mmdet/instance-seg/instance-seg_tensorrt_dynamic-320x320-1344x1344.py \work_dirs/deploy_220721_dcn_mask_rcnn_nwd/zjw_final_skin_config.py \../mmdetection-2.22.0/work_dirs/train_skin_220401_maskrcnn/zjw_skin_config_cfnwd3/epoch_12.pth \/home/wangjy/data/facedata_croped_1209/images/val_whole/CXM__何易霖_痤疮_20200904131918000_斑点.jpg \--work-dir work_dirs/deploy_220721_dcn_mask_rcnn_nwd/tensorrt_dynamic \--device cuda:1 \--dump-info并且instance-seg_tensorrt_dynamic-320x320-1344x1344.py配置文件似乎一定需要三个shape不能注释掉因而采用以下三个shape进行替代并且整图生成需要修改max_workspace_size。 _base_ [../_base_/base_instance-seg_dynamic.py,../../_base_/backends/tensorrt.py ]backend_config dict(# common_configdict(max_workspace_size1 30),common_configdict(max_workspace_size1 31),model_inputs[dict(input_shapesdict(inputdict( # min_shape[1, 3, 320, 320], # opt_shape[1, 3, 800, 1344], # max_shape[1, 3, 1344, 1344]min_shape[1, 3, 4171, 3128],opt_shape[1, 3, 4600, 3448],max_shape[1, 3, 5184, 3456])))])先别急参考模型重载需要重新复现RPNHeadNwd的get_boxes方法这个其实仿照mmdeploy原有的rpn_head的get_boxes方法写即可然后要注意上文onnx调试时修改的proposals, _ self.rpn_head.simple_test_rpn(x, img_metas)和rois proposals的代码要改回来似乎原来这个是适配的tensorRT流程。 注意tensorRT有topK的限制topK操作不能超过3840参考tensorrt-topKsetup这个可能要想办法规避。并且deploy后的整图模型进行test的时候效果极差几乎无了而crop1024的数据就正常不知道为啥。 在这里记录一下对于dcn_mask_rcnn模型来说mmdetection-2.22.0/work_dirs/train_skin_220416_maskrcnn/20220417_124418val_crop1024的test AP50为0.496的最好模型其在val_whole整图测试中的结果也记录在了issues/814中有人问。 调试记录 配置了pycharm远程连接进行调试目前可知mmdeploy/tools/test.py的调用如下 flowchart TDmmdeploy/tools/test.py -- mmdetection/mmdet/apis/test.py:single_gpu_test -- mmdeploy/mmdeploy/codebase/mmdet/deploy/object_detection_model.py:forward -- mmdeploy/mmdeploy/backend/tensorrt/wrapper.py:forwardoutputs是在最后的wrapper.py:forward中得到的但似乎无法查看模型的中间变量。 220801看一下post_processing结果要么就RuntimeError: CUDA error: an illegal memory access was encountered要么就爆显存以为是后处理参数改一点都不行那改回来吧还是爆绝望。
http://www.ho-use.cn/article/10820683.html

相关文章:

  • 铜陵市建设局网站深圳响应式网站制作
  • 富顺住房和城乡建设厅网站照片制作网站
  • 移动网站虚拟主机简洁中文网站模板
  • google建立网站支付宝网站登录入口
  • 学做网站需要个人博客系统源码
  • 免费成品网站模板门户网站cms系统
  • 网站备案必须是企业吗phpcms 多语言网站
  • 做网站设计挣钱吗江苏大都建设工程有限公司网站
  • 宁波建网站模板网站怎么快速被百度收录
  • 个人网站制作基本步骤服装印花图案设计网站
  • 桂林论坛网网站电话电子商务网站建设与电子支付
  • 自然堂官方网站建设搜索引擎推广的优势
  • 网站建设工程属于科技档案吗dede手机网站教程
  • 苏州吴中长桥网站建设做网站,好苦逼
  • 保定企业网站开发网站建设问题及解决办法
  • 沈阳网站建设方案报价wordpress 应用店商
  • 建网站需要数据库吗扁平化设计网站 国内
  • 建立自己网站免费网站开发的技术简介是什么
  • 南昌网站建设公司服务制作一个营销型网站
  • 有了源代码怎么做网站郴州网站建设公司官网
  • ASP做网站源代码如何线上推广自己产品
  • 网站建设平台南京网站优化报价
  • 天猫网站建设的目标是什么意思河南企业网站排名优化
  • 苗木公司网站模板wordpress页面间跳转
  • 只选设计师的网站佛山网站seo优化
  • 微网站样式建设网站赚钱猛兽领主
  • 怎样做相亲网站网站建设花费录什么费用
  • 网站开发的源码杭州科技网站
  • 苏州市建设交易中心网站首页html指什么
  • 做美食网站的图片大全专业网站设计制作优化排名