住房和城乡建设部的网站首页杭州做搜索引擎网站的公司
目录
1、获取FLOP和参数
2、发布模型
3、转换为ONNX
4、打印整个配置
除了训练/测试脚本,在tools/目录下提供了许多有用的工具 。
1、获取FLOP和参数
提供了一个适用于flops-counter.pytorch的脚本,用于计算给定模型的FLOP和参数。
python tools/get_flops.py ${CONFIG_FILE} [--shape ${INPUT_SHAPE}]
将得到这样的结果:
==============================
Input shape: (3, 2048, 1024)
Flops: 1429.68 GMac
Params: 48.98 M
==============================
注意:此工具仍处于试验阶段,我们不保证该数字正确。您可以将结果用于简单的比较,但是在将其用于技术报告或论文之前,请仔细检查。
1)FLOP与输入形状有关,而参数与输入形状无关。默认输入形状为(1、3、1280、800)。
2)某些运算符不像GN和自定义运算符那样计入FLOP中。
2、发布模型
在将模型上载到AWS之前,您可能需要:
1)将模型权重转换为CPU张量;
2)删除优化器状态;
3)计算检查点文件的哈希并将哈希ID附加到文件名中。
python tools/publish_model.py ${INPUT_FILENAME} ${OUTPUT_FILENAME}
例如,
python tools/publish_model.py work_dirs/pspnet/latest.pth psp_r50_hszhao_200ep.pth
最终的输出文件名将为。psp_r50_512x1024_40ki_cityscapes-{hash id}.pth
3、转换为ONNX
我们提供了将模型转换为ONNX格式的脚本。可以通过Netron等工具将转换后的模型可视化。此外,我们还支持比较Pytorch和ONNX模型之间的输出结果。
python tools/pytorch2onnx.py ${CONFIG_FILE} --checkpoint ${CHECKPOINT_FILE} --output-file ${ONNX_FILE} [--shape ${INPUT_SHAPE} --verify]
注意:此工具仍处于试验阶段。目前尚不支持某些自定义运算符。
4、打印整个配置
tools/print_config.py 逐字打印整个配置,扩展所有导入。
python tools/print_config.py ${CONFIG} [-h] [--options ${OPTIONS [OPTIONS...]}]