ResNet50 部署手册
概述
本章节我们会演示如何使用 SOLA Runtime API 来开发一个简单的图片分类应用。
模型介绍
关于 resnet50 模型介绍可以参考 Deep Residual Learning for Image Recognition 。
有关输入输出的基本信息如下:
Input: RGB 图片, 分辨率处理为 224 高 x 224 宽
Output: 图片分类标签
Batch size: 4
参照 MLPerf Offline 模式的运行条件,我们会一次性加载所有图片,再进行分批推理。
MLPref Offline ResNet-50 输入输出数据如下:
总图片数量: 50000
输入 query: [ 50000, 224, 224, 3 ] dtype=uint8, 以二进制格式保存
输出 query: [ 50000, 1024 ] dtype=int64, 以二进制格式保存
环境依赖
以下为运行 ResNet50 所需要的环境依赖:
编译器: g++ >= 7.5
Python 环境: numpy, opencv=4.8.1, tensorflow
流程介绍
部署模型分为四个步骤:下载、编译、运行、验证,每个步骤都提供了对应的默认脚本。
下载:prepare.sh
编译:build.sh
运行:run.sh
验证:verify.sh
你也可以参考以下步骤手动部署模型。
部署步骤
下载模型和数据集
可以执行以下脚本下载模型依赖,下载后会自动进行预处理:
若脚本执行失败,也可以通过以下链接手动下载并解压:
并手动执行预处理命令(需要 python 环境,激活方式见主目录 README.md)
编译部署代码
运行
其中 -d 可以指定运行设备 -c 指定运行次数
验证结果
这是一个输出示例
比如根据 Imagenet2012 230 的标签为 hetland_sheepdog
Predict result
推理结果如下:
SOLA resnet50 Imagenet2012 Validation Set 精度为 76.4280% 。
性能
以下为基于 MOFFETT S4 的运行结果:
RN50
4
25014
最后更新于
这有帮助吗?