2023·CANN训练营第一季】昇腾AI入门课(PyTorch)学习笔记

在对CANN和昇腾有了一个基础的了解认知后,下面我们就来学习了解一下PyTorch和AscendCL的相关知识。

PyTorch

它是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。它主要由Facebookd的人工智能小组开发,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这一点是现在很多主流框架如TensorFlow都不支持的。

高级功能:

1.具有强大的GPU加速的张量计算(如Numpy);

2.包含自动求导系统的深度神经网络。

优点:

1.支持GPU;

2.灵活,支持动态神经网络;

3.底层代码易于理解;

4.命令式体验;

5.自定义扩展。

PyTorch适配昇腾AI处理器方案

选择在线对接适配方案原因有以下几点:

* 最大限度继承PyTorch框架动态图

*最大限度继承GPU在PyTorch上的使用方式

*最大限度继承PyTorch原生的体系结构

*扩展性好,对于新增网络类型或结构,只需涉及相关计算类算子的开发和实现

*指定device为昇腾AI处理器

PyTorch模型迁移

三种方式:

自动迁移,训练脚本引入库代码;

工具迁移,使用脚本转换工具(msFmkTransplt)

手工迁移,迁移前的准备修改相关原始代码,单卡模型迁移,多卡模型迁移,Extra报错排查。

AscendCL基本功能

运行资源管理:指定硬件资源,创建管理对象容器,创建维护执行顺序的Stream。

内存管理:申请各阶段数据的内存,释放内存,通过内存拷贝实现数据传输。

三大关键功能:

图形图像预处理(视频图像编解码,图片抠图、缩放等)

深度学习推理计算(模型加载,执行)

单算子加速计算(单算子加载,执行)

AscendCL推理应用的开发流程

1. 准备环境

2. 创建代码目录

3. 构建模型(将训练好的模型转换昇腾AI处理器识别的*.om模型文件)

4. 开发应用(AscendCL初始化,运行管理资源申请,运行管理资源释放,AscendCL去初始化)

5. 编译及运行应用(具备数据,离线模型、源码和CMake文件)

开发关键功能主要有以下三点:

1. 图形图像预处理

2. 模型推理计算

3. 单算子加速计算

温馨提示

文章内容如果写的存在问题欢迎留言指出,让我们共同交流,共同探讨,共同进步~~~

文章如果对你有帮助,动动你的小手点个赞,鼓励一下,给我前行的动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值