开发场景分析
开发场景
开发图片分类应用,对2张分辨率为1024*683的*.jpg图片分类。
场景分析
您可从以下几方面入手分析该应用需包含哪些功能,这些功能点对应哪些AscendCL接口。
功能列表 |
实现分析 |
涉及的命令或关键接口 |
---|---|---|
模型推理 |
本文介绍的场景是图片分类,因此需要选取开源的分类网络,此处选择的是Caffe resnet-50网络,将开源的resnet-50网络转换为适配昇腾AI处理器的离线模型(*.om文件),使用该离线模型推理图片所属的类别。 |
|
数据预处理(指解码/抠图/缩放/编码/色域转换等) |
resnet-50网络对输入图片宽高的要求为224*224,且要求输入图片格式为RGB。 但是输入图片的*.jpg、宽高是1024*683,与resnet-50网络的输入要求不一致,因此需要先将*.jpg图片解码成YUV420SP格式的图片,再缩放成宽高为224*224的图片,最后再通过色域转换将YUV420SP格式的图片转换成RGB格式的图片。 |
|
数据后处理 |
处理模型推理的结果,通过调用Cast和ArgMaxD两个单算子从推理结果中查找每张图片最大置信度的类别标识。 调用算子Cast将推理结果的数据类型从float32转成float16,再调用ArgMaxD算子从推理结果中查找最大置信度的类别标识。 |
|
数据传输 |
涉及将Host的图片数据传输到Device,供Device处理数据时使用,完成数据处理后,Device需将处理结果传回Host。 |
内存拷贝:aclrtMemcpy |
