1. 问题描述

利用yolov5中的export.py文件将pt文件转换为onnx文件时,系统报错,我使用的时命令行运行的export.py。

命令行如下:

python export.py --include onnx --weight F:\image_process_project\yolov5\yolov5-master\weights\yolov5s.pt --img 640 --train --simplify

其中F:\image_process_project\yolov5\yolov5-master\weights\yolov5s.pt为需要转换的pt文件。

报错内容如下:

(yolov5) F:\image_process_project\yolov5\yolov5-master>python export.py --include onnx --weight F:\image_process_project\yolov5\yolov5-master\weights\yolov5s.pt --img 640 --train --simplify
usage: export.py [-h] [--data DATA] [--weights WEIGHTS [WEIGHTS ...]]
                 [--imgsz IMGSZ [IMGSZ ...]] [--batch-size BATCH_SIZE]
                 [--device DEVICE] [--half] [--inplace] [--keras] [--optimize]
                 [--int8] [--dynamic] [--simplify] [--opset OPSET] [--verbose]
                 [--workspace WORKSPACE] [--nms] [--agnostic-nms]
                 [--topk-per-class TOPK_PER_CLASS] [--topk-all TOPK_ALL]
                 [--iou-thres IOU_THRES] [--conf-thres CONF_THRES]
                 [--include INCLUDE [INCLUDE ...]]
export.py: error: unrecognized arguments: --train
  1. 解决办法

(1)查看自己在该环境内是否安装了onnx

这里面我没有安装onnx,所以我先安装。

(2)接下来运行还是报错,和一开始报同样的错误

(3)更改命令行:python export.py --include onnx --weight 需要转化的文件路径,相比上面的命令行,把后面的 --img 640 --train --simplify去掉。运行结果如下:

(4)又报错,说的是我使用的onnx版本和代码默认的不一致,我这里使用的是1.13版本,而系统使用的是17,需要在export.py文件中更改。export.py位置就在主文件夹目录之下,点击进入export.py中,更改如下内容,将“opset”中的default改为自己的onnx版本号,我是13,所以这里我设置为13.

(5)正确运行

  1. 结尾

这里是我问题的解决方法,如果按照这种方法行不通的话,可以多参考几个解决版本,也可以进行相关交流。写的不好,多多指正。哈哈。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐