执行脚本

在`HAT`中,用户可以直接使用和修改的功能主要包含tools和configs两部分的内容。其中tools主要是核心的功能模块,包含训练验证可视化等。而configs主要是包含功能模块执行过程中可以配置的选项和参数。

这篇教程告诉大家tools主要包含哪些核心功能,以及config的开发规范和使用流程。

大部分情况下tools工具的执行模式都是需要输入一个config,除了部分与数据集或者单张图可视化相关的工具。因此通用的执行范式可以总结成这样:

python3 tools/${TOOLS} --config configs/${CONFIGS}

这里主要介绍一下tools的核心功能和对外接口。

tools

目前的tools一共有3个python脚本,每个脚本具有不同的功能。

train.py是训练工具,常用的参数为:

–step {float}: 不同的训练和预测阶段

—config CONFIG, -c CONFIG: config文件路径

–device-ids DEVICE_IDS, -ids DEVICE_IDS 运行的GPU列表

—dist-url DIST_URL: 多机运行指定的server地址,默认是auto

–launcher {mpi}: 多机运行的启动方式,目前只支持mpi

—pipeline-test: 是否运行pipeline测试

–export-ckpt-only: 只导出checkpoint

—val-only: 只运行val

–val-ckpt: val时候的checkpoint路径

calops.py是网络计算量统计工具,常用参数列别为:

–config CONFIG, -c CONFIG: config文件路径

—input-shape: 输入shape

export_onnx.py是导出onnx模型,常用参数列别为:

–config CONFIG, -c CONFIG: config文件路径

—ckpt 模型文件

–onnx-name 导出的onnx模型的名字

datasets目录是数据集相关的打包和可视化工具。