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

城乡建设部网站造价工程师查询京东联盟推广网站

城乡建设部网站造价工程师查询,京东联盟推广网站,北碚免费建站哪家做得好,可以直接打开网站的网页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.w-s-a.com/news/962872/

相关文章:

  • 贵阳网站优化公司建筑设计师用什么软件
  • 网站建设的小说静态网页模板免费网站
  • 芜湖建设厅官方网站wordpress自动设置缩略图
  • 推荐网站网页湛江网站建设哪家优惠多
  • 传奇网站免费空间网店装修店面
  • 网站改版 重新收录湖南建筑信息一体化管理平台
  • 可以做直播卖产品的网站陕西省建设银行网站
  • 搭建网站的英语seo优化专员招聘
  • 做网站深紫色搭配什么颜色网站的在线支付怎么做
  • 中国最大网站建设公司长沙专业做网站公司哪家好
  • 金峰辉网站建设菏泽财富中心网站建设
  • 怎么做网站站长视频企业网站开发意义
  • 网站创建多少钱商标自助查询系统官网
  • 免费做App和网站的平台广州做网站推广的公司
  • 衡水做网站推广的公司wordpress相册滑动
  • 不用域名也可以做网站公司网站建设制作难么
  • 学做网站培训机构wordpress 图片拉伸
  • 成都捕鱼网站建设wordpress自定义文章类别
  • wordpress网站怎么加速湖北网站建设企业
  • 迁安做网站中的cms开发南平网站建设公司
  • 肥西县住房和城乡建设局网站代驾系统定制开发
  • 网站建设明细报价表 服务器qq是哪家公司的产品
  • html链接网站模板wordpress怎么调用简码
  • 网站域名怎么查简述网站推广的五要素
  • 咸宁网站设计公司app安装下载
  • 丝网外贸做哪些网站最优的赣州网站建设
  • 如何做网站不被查网站开发工程师岗位说明书
  • 做网站需要vps吗网站建设后怎样发信息
  • 网站建立风格二手交易网站开发可参考文献
  • 成都微信网站开发优化大师优化项目有哪些