本样例为大家学习昇腾软件栈提供参考,非商业目的!
本README只提供命令行方式运行样例的指导,如需在Mindstudio下运行样例,请参考Mindstudio运行图片样例wiki。
功能:使用googlenet模型对输入图片进行分类推理。
样例输入:待推理的jpg图片。
样例输出:推理后的jpg图片。
请检查以下条件要求是否满足,如不满足请按照备注进行相应处理。
获取Atlas 200I DK A2硬件设备。根据官方文档https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC1/qs/qs_0003.html
获取SD卡,并完成一键制卡。
本样例将通过远程登录的方式在Atlas 200I DK A2上完成。
获取源码包。
可以使用以下两种方式下载,请选择其中一种进行源码准备。
# 开发环境,非root用户命令行中执行以下命令下载源码仓。
cd ${HOME}
git clone https://gitee.com/ascend/samples.git
git checkout v0.5.0
# 1. samples仓右上角选择 【克隆/下载】 下拉框并选择 【下载ZIP】。
# 2. 将ZIP包上传到开发环境中的普通用户家目录中,【例如:${HOME}/ascend-samples-master.zip】。
# 3. 开发环境中,执行以下命令,解压zip包。
cd ${HOME}
unzip ascend-samples-master.zip
获取此应用中所需要的原始网络模型。
模型名称 | 模型说明 | 模型下载路径 |
---|---|---|
googlenet | 图片分类推理模型。是基于pytorch的GoogLeNet模型。 | 请参考https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/PyTorch/contrib/cv/classification/GoogleNet_ID1623_for_PyTorch/ATC_googlenet_pth_AE目录中README.md下载原始模型章节下载模型和权重文件。 |
(注:以下命令中最后一行关于atc的命令,请参考文档([https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC1/Application Development Guide/ttmutat/tmuacop_0025.html])或([https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC1/Application Development Guide/ttmutat/tmuacop_0028.html])完成)
# 为了方便下载,在这里直接给出原始模型下载及模型转换命令,可以直接拷贝执行。也可以参照上表在modelzoo中下载并手工转换,以了解更多细节。
cd $HOME/samples/python/level2_simple_inference/1_classification/googlenet_onnx_picture/model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/classification/googlenet.onnx
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/googlenet_onnx_picture/insert_op.cfg
atc --model=./googlenet.onnx --framework=5 --output=googlenet_yuv --soc_version=Ascend310B1 --insert_op_conf=insert_op.cfg --input_shape="actual_input_1:1,3,224,224" --input_format=NCHW
获取样例需要的测试图片。
执行以下命令,进入样例的data文件夹中,下载对应的测试图片。
cd $HOME/samples/python/level2_simple_inference/1_classification/googlenet_onnx_picture/data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/googlenet_imagenet_picture/test_image/test1.jpg
cd ../src
注:开发环境与运行环境合一部署,请跳过步骤1,直接执行步骤2即可。
执行以下命令,将开发环境的 googlenet_onnx_picture 目录上传到运行环境中,例如 /home/HwHiAiUser,并以HwHiAiUser(运行用户)登录运行环境(Host)。
# 【xxx.xxx.xxx.xxx】为运行环境ip,200DK在USB连接时一般为192.168.1.2,300(ai1s)为对应的公网ip。
scp -r $HOME/samples/python/level2_simple_inference/1_classification/googlenet_onnx_picture HwHiAiUser@xxx.xxx.xxx.xxx:/home/HwHiAiUser
ssh HwHiAiUser@xxx.xxx.xxx.xxx
cd ${HOME}/googlenet_onnx_picture/src
python3 classify.py ../data/
运行完成后,会在样例工程的out目录下生成带推理结果的jpg图片,显示对比结果如下所示。
请参考常见问题定位对遇到的错误进行排查。如果wiki中不包含,请在samples仓提issue反馈。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。