zoukankan      html  css  js  c++  java
  • 源码解析二 模型转换 export.py

    基于最新yolov5-v6.0

    1.重点

    2.相关函数

    1.重点

    一般使用规则:

    python export.py --data " " --weights " " --imgsz 512 --simplify --include "onnx"

    三种格式想要用哪种就要下载相应的包:

    1. torchscript 不需要下载对应的包 有Torch就可以
    2. onnx: pip install onnx
    3. coreml: pip install coremltools

    2.相关函数

    parse_opt():

    def parse_opt():
        """
        data: 数据集目录 默认=ROOT / 'data/coco128.yaml'
        weights:权重文件目录 默认=ROOT / 'yolov5s.pt'
        img-size: 输入模型的图片size=(height, width) 默认=[640, 640]
        batch-size: batch大小 默认=1
        device: 模型运行设备 cuda device, i.e. 0 or 0,1,2,3 or cpu 默认=cpu
        include: 要将pt文件转为什么格式 可以为单个原始也可以为list 默认=['torchscript', 'onnx', 'coreml']
        half: 是否使用半精度FP16export转换 默认=False
        inplace: 是否设置 YOLOv5 Detect() inplace=True  默认=False
        train: 是否开启model.train() mode 默认=True  coreml转换必须为True
        optimize: TorchScript转化参数 是否进行移动端优化  默认=False
        int8: 支持CoreML/TF INT8 量化 不支持ONNX
        dynamic: ONNX转换参数  dynamic_axes  ONNX转换是否要进行批处理变量  默认=False
        simplify: ONNX转换参数 是否简化onnx模型  默认=False
        opset: ONNX转换参数 设置ONNX版本  默认=13
        topk-per-class: TF.js每一类别都要保留 默认=100
        topk-all: TF.js  Topk为所有class保留
        iou-thres: TF.js IoU threshold   default=0.45
        conf-thres: TF.js  confidence threshold  default=0.25
        include:     需要导出的版本  default=['torchscript', 'onnx'],
        """

    def run(data=ROOT / 'data/coco128.yaml', # 'dataset.yaml path'

    def run(data=ROOT / 'data/coco128.yaml',  # 'dataset.yaml path'
            weights=ROOT / 'yolov5s.pt',  # weights path
            imgsz=(640, 640),  # image (height, width)
            batch_size=1,  # batch size
            device='cpu',  # cuda device, i.e. 0 or 0,1,2,3 or cpu
            include=('torchscript', 'onnx', 'coreml'),  # include formats
            half=False,  # FP16 half-precision export
            inplace=False,  # set YOLOv5 Detect() inplace=True
            train=False,  # model.train() mode
            optimize=False,  # TorchScript: optimize for mobile
            int8=False,  # CoreML/TF INT8 quantization
            dynamic=False,  # ONNX/TF: dynamic axes
            simplify=False,  # ONNX: simplify model
            opset=12,  # ONNX: opset version
            topk_per_class=100,  # TF.js NMS: topk per class to keep
            topk_all=100,  # TF.js NMS: topk for all classes to keep
            iou_thres=0.45,  # TF.js NMS: IoU threshold
            conf_thres=0.25  # TF.js NMS: confidence threshold
            ):
  • 相关阅读:
    IE8,IE10下载的临时文件到哪里去了???
    安全退出,清空Session或Cookie
    删掉SQL Server登录时登录名下拉列表框中的选项
    C#中==、Equals、ReferenceEquals的区别
    [转载]C#中as和is关键字的用法
    HTML5权威指南 5.绘制图形
    HTML5权威指南 3.HTML5的结构
    HTML5权威指南 2.HTML5与HTML4的区别
    HTML5权威指南 1.Web时代的变迁
    web前端黑客技术揭秘 9.Web蠕虫
  • 原文地址:https://www.cnblogs.com/dgwblog/p/15713097.html
Copyright © 2011-2022 走看看