ResNet50 部署手册
本文档介绍了如何在墨芯 AI 加速卡上使用 SOLA 部署 ResNet50 模型。
模型概览
关于 ResNet50 模型介绍可以参考 Deep Residual Learning for Image Recognition 。
模型信息
输入: RGB 图片, 分辨率处理为 224(h)x224(w)
输出: 图片分类标签
batch size: 4
data type: int8
本示例参照 MLPerf Offline 模式运行,一次性加载所有图片,再进行分批推理。
MLPref Offline ResNet50 输入输出数据如下:
总图片数量: 50000
输入 query: [ 50000, 224, 224, 3 ] dtype=uint8, 以二进制格式保存
输出 query: [ 50000, 1024 ] dtype=int64, 以二进制格式保存
流程介绍
部署模型分为四个步骤:下载、编译、运行、验证,每个步骤都提供了对应的默认脚本。
下载:prepare.sh
编译:build.sh
运行:run.sh
验证:verify.sh
你也可以参考以下步骤手动部署模型。
部署步骤
下载模型和数据集
可以执行以下脚本下载模型依赖,下载后会自动进行预处理:
./prepare.sh
若脚本执行失败,也可以通过以下链接手动下载并解压:
https://moffett-oss-bucket01.oss-cn-shenzhen.aliyuncs.com/sola-demo/resnet50/resnet50_demo.tar.gz
并手动执行预处理命令(需要 python 环境,激活方式见主目录 README.md)
python -s scripts/gen.py --image_dir data/resnet50_demo/ILSVRC2012_img_val --val_map_path data/resnet50_demo/ILSVRC2012_validation_ground_truth_caffe.txt --cache_dir data/resnet50_demo/ --duplicate 1
编译部署代码
./build.sh
运行
可以执行以下脚本运行:
./run.sh
其中 -d 可以指定运行设备 -f 指定运行模式(broadcast/split) -c 指定运行次数
验证结果
./verify.sh
测试结果参考
以下为单device的测试结果参考:
model | batch size | data type | qps | accuracy |
---|---|---|---|---|
ResNet50 | 4 | int8 | 25014 | 76.4280% |