关于yolov5模型转换的一些疑问
收藏回复举报
关于yolov5模型转换的一些疑问
新人帖
发表于2022-12-02 16:26:36
0 查看

yolov5模型转换om模型的时候,我看了带NMS算子和不带NMS算子的转换案例。两个案例在第一步export.py脚本输出onnx之前,都会修改yolo.py,在detect.forwary方法中,添加self.training = True 。我的第一个问题就是:可不可以不添加training=True.

带NMS算子的om模型转换案例,会执行modify_model.py 在onnx模型中添加后处理算子。(参考https://gitee.com/ascend/modelzoo-GPL/blob/master/built-in/ACL_Pytorch/Yolov5_for_Pytorch/common/util/modify_model.py

在添加两个输出节点时,有些参数不太理解

box_out = helper.make_tensor_value_info("box_out", onnx.TensorProto.FLOAT, [bs, 6 * 1024])
    box_out_num = helper.make_tensor_value_info("box_out_num", onnx.TensorProto.INT32, [bs, 8])
  • box_out节点:6*1024, 我理解1024就是box的个数, 6应该就是 每个框的坐标个数,但是每个框的坐标个数应该4(x1, x2,y1, y2)+ obj_conf +cls_num,不应该是6
  • box_out_num节点: [bs, 8], 为什么是8 ,代表什么

我要发帖子