AI开发平台ModelArtsAI开发平台ModelArts

文档首页> AI开发平台ModelArts> AI Gallery> 预置AI算法(官方发布)> 物体检测> YOLOv3_ResNet18(物体检测/TensorFlow/Ascend910训练)
更新时间:2021/10/14 GMT+08:00
分享

YOLOv3_ResNet18(物体检测/TensorFlow/Ascend910训练)

概述

针对提供带有物体框标注的数据集,该算法会载入在ImageNet-1k上的ResNet18预训练模型,使用TensorFlow和Ascend910芯片进行训练,训练后生成的模型可直接在ModelArts平台部署成在线服务,目前仅支持在Ascend 310芯片上部署推理,用户可通过模型转换功能将原始TensorFlow的PB模型转换成Ascend类型。

单击此处订阅算法。

训练

  • 算法基本信息
    • 适用场景:物体检测
    • 支持的框架引擎:Ascend-Powered-Engine TF-1.15-aarch64-cp37
    • 算法输入:
      • ModelArts数据管理平台发布的物体检测数据集,在这里用户可选择性使用数据切分功能。如果选择未切分的数据集,算法将做纯训练场景;如果选择切分的数据集,算法将自动做边训练边验证的场景,建议用户以8:2或9:1的比例进行切分,即“训练验证比例”设置为0.8或0.9。
      • ResNet18的ImageNet-1k预训练模型。
    • 算法输出:
      • 用于转换Ascend格式模型的Frozen_PB模型。
  • 训练参数说明

    名称

    默认值

    类型

    是否必选

    是否可修改

    描述

    export_om_model

    True

    bool

    导出模型是否用于Ascend 310推理。

    model_name

    resnet18

    string

    Backbone模型名称。

    input_shape

    352,640

    string

    输入图片的shape大小。

    batch_size

    32

    int

    每步训练的图片数量(单卡)。

    eval_batch_size

    32

    int

    每步验证的图片数量(单卡)。

    max_epochs

    200

    int

    训练的epochs数量。

    log_every_n_steps

    10

    int

    打印日志的频率(单位:步)。

    save_summary_steps

    10

    int

    保存summary的频率(单位:步)。

    save_interval_secs

    180

    int

    保存模型的频率(单位:s)。

    evaluate_every_n_epochs

    10.0

    float

    每训练n个epoch做一次验证。此参数只有在传入的数据是经过数据管理切分过才生效,即需要做边训练边验证的场景下生效。

    learning_rate

    0.001

    float

    训练的初始学习率。

  • 训练输出文件
      |- om    
        |- model      
          |- index      
          |- customize_service_d310.py  
      |- model    
        |- variables      
          |- variables.data-00000-of-00001      
          |- variables.index    
        |- saved_model.pb  
      |- frozen_graph    
        |- insert_op_conf.cfg    
        |- yolo3_resnet18.pb  
      |- checkpoint  
      |- model.ckpt-xxx  
      |- ...  
      |- events...  
      |- graph.pbtxt

Ascend310推理

  • 模型转换
    • 转换模板:TF-FrozenGraph-To-Ascend-C32
    • 转换输入目录:选择训练输出目录中的frozen_graph
    • 转换输出目录:选择训练输出目录中的om/model
    • 输入张量形状:images:1,352,640,3
    • 输入数据格式:NHWC

      剩余的参数均使用默认值

  • 模型导入
    • 从模板中选择:ARM-Ascend模板
    • 模型目录:选择训练输出目录中的om/model
    • 输入输出模式:预置图像处理模式

案例指导

Ascend 910训练+Ascend 310推理,可参考Ascend 910训练和Ascend 310推理案例

分享:

    相关文档

    相关产品