【2023 · CANN训练营第一季】昇腾AI入门课(TensorFlow)

举报
yvan1010 发表于 2023/05/11 11:08:47 2023/05/11
【摘要】 【2023 · CANN训练营第一季】昇腾AI入门课(TensorFlow)昇腾AI全栈可以分成四个大部分:1. 应用使能层面,此层面通常包含用于部署模型的软硬件,例如API、SDK、部署平台,模型库等等。2. AI框架层面,此层面包含用于构建模型的训练框架,例如华为的MindSpore、TensorFlow、Pytorch等。3. 异构计算架构,偏底层、偏通用的计算框架,用于针对上层AI框...

【2023 · CANN训练营第一季】昇腾AI入门课(TensorFlow)

昇腾AI全栈可以分成四个大部分:

1. 应用使能层面,此层面通常包含用于部署模型的软硬件,例如API、SDK、部署平台,模型库等等。

2. AI框架层面,此层面包含用于构建模型的训练框架,例如华为的MindSpore、TensorFlow、Pytorch等。

3. 异构计算架构,偏底层、偏通用的计算框架,用于针对上层AI框架的调用进行加速,力求向上支持多种AI框架,并在硬件上进行加速。

4. 计算硬件,本层是AI计算的底座,有了强力的芯片及硬件设备,上层的加速才有实施的基础。


华为公司面向计算机视觉、自然语言处理、推荐系统、类机器人等领域量身打造了基于“达芬奇(DaVinci)架构”的昇腾(Ascend)AI处理器,开启了智能之旅。为提升用户开发效率和释放昇腾AI处理器澎湃算力,同步推出针对AI场景的异构计算架构CANN(Compute Architecture for Neural Networks),CANN通过提供多层次的编程接口,以全场景、低门槛、高性能的优势,支持用户快速构建基于Ascend平台的AI应用和业务。


AscendCL(Ascend Computing Language,昇腾计算语言)是昇腾计算开放编程框架,是对底层昇腾计算服务接口的封装,它提供运行时资源(例如设备、内存等)管理、模型加载与执行、算子加载与执行、图片数据编解码/裁剪/缩放处理等API库,实现在昇腾CANN平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。简单来说,就是统一的API框架,实现对所有资源的调用。


昇腾910 AI处理器是华为在2019年发布的人工智能(AI)专用的神经网络处理器。当前业界大多数训练脚本基于TensorFlow的Python API开发,默认运行在CPU/GPU/TPU上,为了使其能够利用昇腾910 AI处理器的澎湃算力执行训练,提升训练性能,我们需要基于CANN对TensorFlow模型进行适配和训练


将TensorFlow网络模型迁移到昇腾AI处理器执行训练,主要有两种方式:

1. 一种是自动迁移方式。通过迁移工具对原始脚本进行AST语法树扫描,可自动分析原生的TensorFlow API在昇腾AI处理器上的支持度,并将原始的TensorFlow训练脚本自动迁移成昇腾AI处理器支持的脚本,对于无法自动迁移的API,可以参考工具输出的迁移报告,对训练脚本进行相应的适配修改。

2. 一种是手工迁移方式。算法工程师需要人工分析TensorFlow训练脚本中的API支持度情况,并且参照文档逐一手工修改不支持的API,以便在昇腾AI处理器上训练,该种方式较为复杂,我们建议大家优先使用自动迁移方式。


自动迁移是通过工具对原始脚本进行AST语法树扫描,可自动分析原生的TensorFlow API在昇腾AI处理器上的支持度,并将原始的TensorFlow训练脚本自动迁移成昇腾AI处理器支持的脚本,对于无法自动迁移的API,可以参考工具输出的迁移报告,对训练脚本进行相应的适配修改。


手工迁移需要算法工程师人工分析TensorFlow训练脚本中的API支持度情况,并且参照文档逐一手工修改不支持的API,以便在昇腾AI处理器上训练,该种方式较为复杂,我们建议大家优先使用自动迁移方式。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。