运行应用

样例步骤适用于以下产品。
- Atlas 200/300/500 推理产品
- Atlas 推理系列产品
- Atlas 训练系列产品
模型转换
- 以HwHiAiUser(运行用户)登录开发环境并部署样例。
- 参见《ATC工具使用指南》中的ATC工具使用环境搭建,获取ATC工具并设置环境变量。
- 准备数据。
从以下链接获取ResNet-50网络的权重文件(*.caffemodel)、模型文件(resnet50.prototxt),并以HwHiAiUser(运行用户)将获取的文件上传至开发环境的“vpc_jpeg_resnet50_imagenet_classification样例目录/caffe_model ”目录下。
- 将ResNet-50网络转换为适配昇腾AI处理器的离线模型(*.om文件),转换模型时,需配置色域转换参数aipp.cfg,用于将YUV420SP格式的图片转换为RGB格式的图片。
切换到“vpc_jpeg_resnet50_imagenet_classification”目录,执行如下命令。Ascendxxx为使用的昇腾AI处理器版本,请用户自行替换。
atc --model=caffe_model/resnet50.prototxt --weight=caffe_model/resnet50.caffemodel --framework=0 --output=model/resnet50_aipp --soc_version=Ascendxxx --insert_op_conf=caffe_model/aipp.cfg
- “--output”参数:生成的“resnet50_aipp.om”文件存放在“vpc_jpeg_resnet50_imagenet_classification/model”目录下。
- 使用atc命令时用户需保证对“vpc_jpeg_resnet50_imagenet_classification”目录有写权限。
- 如果无法确定当前设备的soc_version,则在安装NPU驱动包的服务器执行npu-smi info命令进行查询,在查询到的“Name”前增加Ascend信息,例如“Name”对应取值为xxxyy,实际配置的soc_version值为Ascendxxxyy。
运行应用
- 以运行用户登录运行环境并部署样例。
- 准备输入图片。 请从以下链接获取该样例的输入图片,并以运行用户将获取的文件上传至运行环境的“vpc_jpeg_resnet50_imagenet_classification/data”目录下。如果目录不存在,需自行创建。
- 参照环境变量配置完成运行环境的配置。
- 在“vpc_jpeg_resnet50_imagenet_classification”路径下请用户根据场景选择对应的命令执行:
- 执行解码+缩放+推理:
python3 ./src/main.py --images_path="./data/wood_rabbit_1024_1061_330.jpg" --dvpp_type=0 --image_type='jpg'
- 执行抠图:
python3 ./src/main.py --images_path="./data/wood_rabbit_1024_1068_nv12.yuv" --dvpp_type=1 --image_type='yuv'
- 执行抠图粘贴:
python3 ./src/main.py --images_path="./data/wood_rabbit_1024_1068_nv12.yuv" --dvpp_type=2 --image_type='yuv'
- 执行编码:
python3 ./src/main.py --images_path="./data/wood_rabbit_1024_1068_nv12.yuv" --dvpp_type=3 --image_type='yuv'
- 8k缩放:
- 执行批量抠图:
python3 ./src/main.py --images_path="./data/wood_rabbit_1024_1068_nv12.yuv" --dvpp_type=5 --image_type='yuv' --in_batch_size=1 --out_batch_size=8
- 执行批量抠图粘贴:
python3 ./src/main.py --images_path="./data/wood_rabbit_1024_1068_nv12.yuv" --dvpp_type=6 --image_type='yuv' --in_batch_size=1 --out_batch_size=8
- 执行解码+缩放+推理:
- 执行成功后,在屏幕上的关键提示信息示例如下(以执行批量抠图粘贴为例)。
Using device id:0 model path:./model/resnet50_aipp.om images path:./data/wood_rabbit_1024_1068_nv12.yuv result path:./vpc_out dvpp type:6 [Sample] init resource stage: [Sample] init resource stage success [Model] class Model init resource stage: [Model] create model output dataset: [Model] create model output dataset success [Model] class Model init resource stage success [Dvpp] class Dvpp init resource stage: [Dvpp] class Dvpp init resource stage: [Sample] image:./data/wood_rabbit_1024_1068_nv12.yuv res_path:./vpc_out [Sample] width:1024 height:1068 [Sample] in_batch_size:1 in_batch_size:8 [Sample]write out to file ./vpc_out/wood_rabbit_1024_1068_nv12_6crop_0_.yuv success [Sample]write out to file ./vpc_out/wood_rabbit_1024_1068_nv12_6crop_1_.yuv success [Sample]write out to file ./vpc_out/wood_rabbit_1024_1068_nv12_6crop_2_.yuv success [Sample]write out to file ./vpc_out/wood_rabbit_1024_1068_nv12_6crop_3_.yuv success [Sample]write out to file ./vpc_out/wood_rabbit_1024_1068_nv12_6crop_4_.yuv success [Sample]write out to file ./vpc_out/wood_rabbit_1024_1068_nv12_6crop_5_.yuv success [Sample]write out to file ./vpc_out/wood_rabbit_1024_1068_nv12_6crop_6_.yuv success [Sample]write out to file ./vpc_out/wood_rabbit_1024_1068_nv12_6crop_7_.yuv success [Model] class Model release source success [Dvpp] class Dvpp release source [Dvpp] class Dvpp release source success [Sample] class Sample release source success