文档
注册

样例介绍

获取样例

单击Gitee,进入Ascend samples开源仓,详细参见README中的“版本说明”下载配套版本的sample包,从“python/level2_simple_inference/1_classification/resnet50_imagenet_classification”目录下获取resnet50_imagenet_classification样例

功能描述

该样例主要是基于Caffe ResNet-50网络(单输入、单batch)实现图片分类的功能。

将Caffe ResNet-50网络的模型文件转换为适配昇腾AI处理器的离线模型(*.om文件),在样例中,加载该om文件,对2张jpg(*.jpg)图片进行同步推理,分别得到推理结果后,再对推理结果进行处理,输出top5置信度的类别标识。

主要接口

主要接口如表1所示。
表1 主要接口介绍

功能

对应ACL模块

ACL 接口函数

功能说明

资源初始化

初始化

acl.init

初始化ACL配置。

Device管理

acl.rt.set_device

指定用于运算的Device。

Context管理

acl.rt.create_context

创建Context。

模型初始化

模型加载与执行

acl.mdl.load_from_file

从*.om文件加载模型到device侧。

数据类型及操作接口

acl.mdl.create_desc

创建模型描述数据类型。

数据类型及操作接口

acl.mdl.get_desc

获取模型描述数据类型。

模型推理

模型加载与执行

acl.mdl.execute

执行模型同步推理。

数据交互

内存管理

acl.rt.memcpy

数据传输,Host->Device或Device->Host。

内存管理

acl.rt.malloc

申请Device上的内存。

内存管理

acl.rt.malloc_host

申请Host上的内存。

公共模块

--

acl.util.ptr_to_numpy

void*数据转换为numpy类型数据。

--

acl.util.numpy_to_ptr

numpy类型数据转换为void*数据。

数据后处理

数据类型及操作接口

acl.mdl.get_dataset_buffer

获取数据集中信息。

数据类型及操作接口

acl.mdl.get_dataset_num_buffers

获取数据集中信息。

资源释放

内存管理

acl.rt.free

释放Device上的内存。

内存管理

acl.rt.free_host

释放Host上的内存。

模型加载与执行

acl.mdl.unload

卸载模型。

Context管理

acl.rt.destroy_context

销毁Context。

Device管理

acl.rt.reset_device

复位当前运算的Device,回收Device上的资源。

去初始化

acl.finalize

实现ACL去初始化。

模型同步推理流程图

模型同步推理流程图如图1所示。

图1 模型同步推理流程图

目录结构

目录结构如下所示。

resnet50_imagenet_classification
├──src
│ ├── acl_net.py //运行文件。
│ └── constant.py //常量定义。
├── data
│ ├── dog1_1024_683.jpg //测试图片数据。
│ └── dog2_1024_683.jpg //测试图片数据。
├── caffe_model
│ ├── resnet50.caffemodel //ResNet-50模型。
│ └── resnet50.prototxt // ResNet-50模型的网络文件。
└── model
  └── resnet50.om //转换后的模型文件。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词