【2023 · CANN训练营第一季】昇腾AI进阶课(应用开发深入讲解)学习笔记

昇腾AI进阶课

应用开发深入讲解

异构计算架构昇腾CANN

  • AI 异构计算架构CANN 5.0  

  • AscendCL应用开发

•     模型转换 | ACT工具完成模型转换

•     代码开发 | 使用AscendCL接口完成代码开发

•     编译执行 | 在运行环境上将应用落地

模型转换

  • 将开源框架的网络模型转换为昇腾处理器支持的离线模型

•     开源模型经过Parser解析,转换为IR Graph经过图准备,图拆分,图优化,图编译转换为离线模型

•     环境准备-模型准备-ATC模型转换

  • AIPP 人工智能预处理(在AI Core上)

•     静态AIPP 与 动态AIPP

•     尺寸转换

•     Crop/Padding 裁切与采用 改变图片格式

•     色域转换

•     YUV分量存储(明亮度 + 色彩)

•     轻量化处理图片

•     归一化处理

•     通过减均值与乘系数操作完成

  • 根据实际场景配置AIPP配置文件的更改

•     --model 指定原始模型--framework 指定原始网络模型架构-- input_format 输入数据格式--input_shape 输入输出格式--output 输入模型的路径与文件名--insert_op_conf 插入算子的配置文件路径&文件名

模型离线推理

  • Host & Device内存管理

•    

•     Host端使用专用的 aclrtMallocHost 与 aclrtFreeGost 与接口

•     Device端使用 aclrtMemMallocPolicy 与 aclrtFree 接口

•     初始化接口 aclrtMemset

•     数据传输接口 aclrtMemcpy

•     实时获取Device内存接口 aclrtGetMemInfo

  • 模型加载

•     多种方式加载

•     从om模型文件或内存加载

•     由用户自行管理内存或由AscendCL管理内存

  • 模型推理-输入输出准备

•     数据使用aclmdlDesc类型描述数据基本信息

•     使用aclDataBuffer类型来描述每个输入/输出的地址内存

•     使用aclmdlDataset类型描述模型的输入/输出数据集

数据预处理(DVPP)

  • DVPP

•     VDEC视频解码、JPEG图片解码、jpeg图片编码

•     接口

•     acldvppMalloc 内存申请与释放

•     acldvppCreateChannelDesc acldvppDestroyChannelDesc通道创建与释放

•     acldvppCreatePicDesc acldvppDestroyPicDesc图片描述信息创建与销毁

•     acldvppSetPicDesc 图片描述参数设置

  • JPEGD图片解码

•     调用流程

•    

  • VPC视觉预处理

•     抠图,缩放,叠加,拼接,格式转换,图形灰度化

•    

样例讲解

  • 日志文件

•     默认目录为$Home/ascend/log

•     日志格式

•     lever:日志级别ModuleName:日志模块名称PID:应用进程IDPName:应用进程名字DateTimeMS:日志打印时间FileName:LineNumber:日志行号LogContent:各模块具体内容信息

  • 样例开发步骤

•     结构设计-原始模型与输入输出分析-样例编写-样例运行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值