打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
def patch_model_forward_with_conf_filter(model, conf=0.1): num_class = len(model.names) def forward_wrapper(forward, x): preds = forward(x) pred = preds[0] if isinstance(preds, tuple) else preds xc = pred[:, 4: 4 + num_class].amax(1) > conf bs, _, num_anchors = pred.shape batch_indices = torch.arange(bs).view(-1, 1, 1).repeat(1, num_anchors, 1).to(pred.device) pred = pred.permute(0, 2, 1) pred = torch.cat([pred, batch_indices], dim=-1) pred = pred[xc] return pred model.forward = partial(forward_wrapper, model.forward)
如上图function所示,我对yolov11n的返回结果做了一个后处理,根据置信度conf,filter掉低于其的anchorbox,减少模型推理返回数据大小。在onnx转换成magicmind过程中没有报错,日志如下
Generating yolo magicmind model...
2025-12-16 23:50:31.090095: WARNING: magicmind/conversion/parser/onnx2mm/lower/tensor_ops.cc:316] Attributes: cubic_coeff_a, exclude_outside and extrapolation_value are not supported in magicmind now!
2025-12-16 23:50:31.090150: WARNING: magicmind/conversion/parser/onnx2mm/lower/tensor_ops.cc:322] ROI value is used for mode: tf_crop_and resize, but mode: tf_crop_and_resize is not supported in MagicMind now!
2025-12-16 23:50:31.091048: WARNING: magicmind/conversion/parser/onnx2mm/lower/tensor_ops.cc:316] Attributes: cubic_coeff_a, exclude_outside and extrapolation_value are not supported in magicmind now!
2025-12-16 23:50:31.091066: WARNING: magicmind/conversion/parser/onnx2mm/lower/tensor_ops.cc:322] ROI value is used for mode: tf_crop_and resize, but mode: tf_crop_and_resize is not supported in MagicMind now!
2025-12-16 23:50:31,206: INFO: work_parser.py:135] OnnxModelParser: input model was parsed successfully.
2025-12-16 23:50:31,206: INFO: model_process.py:137] ==============================
2025-12-16 23:50:31,206: INFO: model_process.py:138] parameters about network configuration:
2025-12-16 23:50:31,206: INFO: model_process.py:141] input_dims: [[1, 3, 640, 640]]
2025-12-16 23:50:31,206: INFO: model_process.py:141] batch_size: [1]
2025-12-16 23:50:31,206: INFO: model_process.py:142] ==============================
2025-12-16 23:50:31,207: INFO: model_process.py:161] config_network: going to reset input dims.
2025-12-16 23:50:31,207: INFO: model_process.py:173] config_network: set input dimensions sucessfully.
2025-12-16 23:50:31,207: INFO: model_process.py:186] config_network: going to reset input batch size.
2025-12-16 23:50:31,207: INFO: model_process.py:199] config_network: set input batch size sucessfully.
2025-12-16 23:50:31,207: INFO: model_process.py:201] config_network: network was configured successfully.
2025-12-16 23:50:31,207: INFO: model_process.py:137] ==============================
2025-12-16 23:50:31,207: INFO: model_process.py:138] parameters about model builder configuration:
2025-12-16 23:50:31,208: INFO: model_process.py:141] mlu_arch: mtp_372
2025-12-16 23:50:31,208: INFO: model_process.py:141] precision: force_float32
2025-12-16 23:50:31,208: INFO: model_process.py:141] activation_quant_algo: symmetric
2025-12-16 23:50:31,208: INFO: model_process.py:141] weight_quant_granularity: per_axis
2025-12-16 23:50:31,208: INFO: model_process.py:141] cluster_num: None
2025-12-16 23:50:31,208: INFO: model_process.py:141] means: None
2025-12-16 23:50:31,208: INFO: model_process.py:141] vars: None
2025-12-16 23:50:31,208: INFO: model_process.py:141] toolchain_path: None
2025-12-16 23:50:31,208: INFO: model_process.py:141] input_layout: None
2025-12-16 23:50:31,208: INFO: model_process.py:141] output_layout: None
2025-12-16 23:50:31,208: INFO: model_process.py:141] dim_range_min: [[1, 3, 128, 128]]
2025-12-16 23:50:31,208: INFO: model_process.py:141] dim_range_max: [[64, 3, 640, 640]]
2025-12-16 23:50:31,208: INFO: model_process.py:141] input_dims: [[1, 3, 640, 640]]
2025-12-16 23:50:31,208: INFO: model_process.py:141] dynamic_shape: true
2025-12-16 23:50:31,209: INFO: model_process.py:141] computation_preference: auto
2025-12-16 23:50:31,209: INFO: model_process.py:141] type64to32_conversion: true
2025-12-16 23:50:31,209: INFO: model_process.py:141] conv_scale_fold: false
2025-12-16 23:50:31,209: INFO: model_process.py:141] build_config: None
2025-12-16 23:50:31,209: INFO: model_process.py:142] ==============================
2025-12-16 23:50:31,209: INFO: model_process.py:752] get_build_config: set mlu architecture successfully.
2025-12-16 23:50:31,209: INFO: model_process.py:756] get_build_config: set precision successfully.
2025-12-16 23:50:31,209: INFO: model_process.py:283] cluster num for arches mtp_372 has been set to default value [2, 6, 8] repectively since it was not specified.
2025-12-16 23:50:31,209: INFO: model_process.py:372] get_build_config: set cluster number successfully.{"archs": [{"mtp_372": [2, 6, 8]}]}
2025-12-16 23:50:31,210: INFO: model_process.py:611] get_build_config: set input shape to be mutable by the specified dim_range successfully.
2025-12-16 23:50:31,210: INFO: model_process.py:644] get_build_config: set computation_preference auto successfully.
2025-12-16 23:50:31,210: INFO: model_process.py:680] get_build_config: set opt.type64to32_conversion true successfully.
2025-12-16 23:50:31,210: INFO: model_process.py:713] get_build_config: set opt.conv_scale_fold false successfully.
2025-12-16 23:50:31,210: INFO: model_process.py:812] get_build_config: created builder configuraton successfully.
2025-12-16 23:50:31,210: INFO: gen_model.py:68] Build model...
2025-12-16 23:50:31,210: INFO: model_process.py:137] ==============================
2025-12-16 23:50:31,210: INFO: model_process.py:138] parameters about model building and serialization configuration:
2025-12-16 23:50:31,210: INFO: model_process.py:141] input_dtypes: None
2025-12-16 23:50:31,211: INFO: model_process.py:141] output_dtypes: None
2025-12-16 23:50:31,211: INFO: model_process.py:141] magicmind_model: /data/models/magicmind/yolov11n_pose_filter.magicmind
2025-12-16 23:50:31,211: INFO: model_process.py:142] ==============================
2025-12-16 23:50:31.212244: INFO: magicmind/dialect/common/dim_range_utils.cc:1267] Input tensor(0)'s shape ([1, 3, 640, 640]) will be overwritten by dim range set on build config ([-9223372036854775808, 3, -9223372036854775808, -9223372036854775808])
2025-12-16 23:50:31.272707: WARNING: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:394] MMConvertType64To32Pass: Data type of following tensors are converted from 64bit to 32bit. Set MM_CPP_MIN_LOG_LEVEL=0 to get detailed tensor list.
2025-12-16 23:50:31.272755: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: main//NonZero/mm.where__internal__0
2025-12-16 23:50:31.272767: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /Shape_output_0
2025-12-16 23:50:31.272779: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_13_output_0
2025-12-16 23:50:31.272790: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_12_output_0
2025-12-16 23:50:31.272800: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/dfl/Shape_output_0
2025-12-16 23:50:31.272810: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_10_output_0
2025-12-16 23:50:31.272820: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_9_output_0
2025-12-16 23:50:31.272829: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_8_output_0
2025-12-16 23:50:31.272839: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_6_output_0
2025-12-16 23:50:31.272848: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_5_output_0
2025-12-16 23:50:31.272859: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_4_output_0
2025-12-16 23:50:31.272868: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_1_output_0
2025-12-16 23:50:31.272879: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_output_0
2025-12-16 23:50:31.272888: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.10/m/m.0/attn/Shape_output_0
2025-12-16 23:50:31.661701: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:837] arch : mtp_372
2025-12-16 23:52:08.928650: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:766] find fusion mode op num:19
2025-12-16 23:53:23.267118: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:930] Fusion success
2025-12-16 23:53:23.546300: WARNING: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:394] MMConvertType64To32Pass: Data type of following tensors are converted from 64bit to 32bit. Set MM_CPP_MIN_LOG_LEVEL=0 to get detailed tensor list.
2025-12-16 23:53:23.546361: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: main//NonZero/mm.where__internal__0
2025-12-16 23:53:23.546377: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /Shape_output_0
2025-12-16 23:53:23.546393: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_13_output_0
2025-12-16 23:53:23.546413: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_12_output_0
2025-12-16 23:53:23.546434: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/dfl/Shape_output_0
2025-12-16 23:53:23.546456: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_10_output_0
2025-12-16 23:53:23.546477: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_9_output_0
2025-12-16 23:53:23.546496: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_8_output_0
2025-12-16 23:53:23.546515: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_6_output_0
2025-12-16 23:53:23.546534: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_5_output_0
2025-12-16 23:53:23.546553: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_4_output_0
2025-12-16 23:53:23.546571: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_1_output_0
2025-12-16 23:53:23.546589: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_output_0
2025-12-16 23:53:23.546609: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.10/m/m.0/attn/Shape_output_0
2025-12-16 23:53:23.962342: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:837] arch : mtp_372
2025-12-16 23:55:22.526425: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:766] find fusion mode op num:19
2025-12-16 23:56:37.829537: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:930] Fusion success
2025-12-16 23:56:38.171221: WARNING: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:394] MMConvertType64To32Pass: Data type of following tensors are converted from 64bit to 32bit. Set MM_CPP_MIN_LOG_LEVEL=0 to get detailed tensor list.
2025-12-16 23:56:38.171276: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: main//NonZero/mm.where__internal__0
2025-12-16 23:56:38.171293: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /Shape_output_0
2025-12-16 23:56:38.171310: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_13_output_0
2025-12-16 23:56:38.171326: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_12_output_0
2025-12-16 23:56:38.171347: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/dfl/Shape_output_0
2025-12-16 23:56:38.171367: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_10_output_0
2025-12-16 23:56:38.171392: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_9_output_0
2025-12-16 23:56:38.171404: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_8_output_0
2025-12-16 23:56:38.171422: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_6_output_0
2025-12-16 23:56:38.171437: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_5_output_0
2025-12-16 23:56:38.171455: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_4_output_0
2025-12-16 23:56:38.171472: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_1_output_0
2025-12-16 23:56:38.171483: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.23/Shape_output_0
2025-12-16 23:56:38.171491: INFO: magicmind/dialect/mm/transforms/mm_type_convert64to32.cc:397] tensor name: /model.10/m/m.0/attn/Shape_output_0
2025-12-16 23:56:38.608306: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:837] arch : mtp_372
2025-12-16 23:58:18.927460: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:766] find fusion mode op num:20
2025-12-16 23:59:37.322964: INFO: magicmind/conversion/mm2tfuhost/lower_mm_to_tfuhost.cc:930] Fusion success
2025-12-16 23:59:37,665: INFO: model_process.py:1002] build_and_serialize: built model successfully.
2025-12-16 23:59:37,691: INFO: model_process.py:1004] build_and_serialize: serialized model successfully.
2025-12-16 23:59:37,691: INFO: model_process.py:1014] ==============================
2025-12-16 23:59:37,691: INFO: model_process.py:1015] build_and_serialize: model info:
2025-12-16 23:59:37,691: INFO: model_process.py:1019] model input[0]'s name is images
2025-12-16 23:59:37,691: INFO: model_process.py:1020] model input[0]'s shape is [-1, 3, -1, -1]
2025-12-16 23:59:37,691: INFO: model_process.py:1022] model input[0]'s data type is FLOAT
2025-12-16 23:59:37,692: INFO: model_process.py:1028] model output[0]'s name is output0
2025-12-16 23:59:37,692: INFO: model_process.py:1029] model output[0]'s shape is [-1, -1]
2025-12-16 23:59:37,692: INFO: model_process.py:1031] model output[0]'s data type is FLOAT
2025-12-16 23:59:37,692: INFO: model_process.py:1033] ==============================
2025-12-16 23:59:37,702: INFO: gen_model.py:75] gen_model time cost:546.787s但是在加载magicmind模型推理时报错:
2025-12-17 00:09:04.026431: WARNING: magicmind/runtime/executor/context.cc:228] Inferoutputshape return value is Unavailable, input parameter is invalid or inferring output shape is impossible because of control flow and special op. The output data of other op will be used as tensor shape in the following op to participate infer, which will cause infering fail. Special op: Unpool, reverse, slice... [2025/12/17 12:09:04.026][ERROR][magicmind.python.runtime.context:297] main//NonZero/mm.where/cnnl.slice_valid: do shape infer runner failed, Failed to create shape compute graph. Maybe the given edge and graph are unmatched. If the shape tensor's all predecessor nodes are not const nor shape, it also will be failed. The unavailable node is main//NonZero/mm.where/cnnl.slice_valid
麻烦帮忙看下,是后处理哪个操作不支持?可否用支持的op来实现?
热门帖子
精华帖子