华为昇腾CANN模型开发(CANN训练营2022年度第一季-学习笔记)

简介

  • 本帖为“CANN训练营2022年度第一季-新手班模型开发课”的学习笔记,包含学习文档及其中视频、直播学习笔记和个人补充资料,大部分图片来自bilibil@昇腾Ascend、昇腾社区,如有其他来源会单独标注
  • 根据个人判断,学习本课程需要基本的Python编程基础和对深度学习、神经网络有所了解,建议没有相关基础的同学们先补充相关知识再参加课程。楼主为初学者,个人笔记中会补充部分相关基础,可酌情参考,同时欢迎各位同学、前辈指正错误
  • 本帖预计根据课程进度同步更新,笔记内容包括主要课程内容及个人补充,不包含作业。本帖基于markdown整理发布,课程结束后会整理发布完整笔记

课程链接

  • 活动介绍
  • 资源发布
  • 作业提交
  • FAQ

1 课程目标

1.了解CANN在神经网络中的作用**

  • CANN:全称“Computer Architecture for Neural Network”,直译为神经网络的计算机架构,是华为开发的AI异构计算架构的简称,后续课程应该会详细讲解。
    • 详见 https://www.hiascend.com/software/cann
  • 神经网络:这里指人工神经网络(Artificial Neural Networks,ANNs),“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应”【T. Kohonen 1988年在 Neural Networks 创刊号上给出的定义,引自周志华《机器学习》(西瓜书)】
    • 推荐阅读 https://blog.csdn.net/as091313/article/details/79080583 及其参考资料

2. 基于CANN将TensorFlow迁移到昇腾AI处理器

  • TensorFlow:Google发布的开源深度学习框架,最流行的深度学习框架之一

    • 官方网站 https://tensorflow.google.cn/
    • 官方中文教程 https://tensorflow.google.cn/tutorials
    • 推荐阅读 https://blog.csdn.net/fenglepeng/article/details/105438783

3. 在昇腾AI处理器上训练模型
4. 查看训练日志、结果,具备基本问题定界、定位能力


2 AI模型开发基础知识入门

2.1 具备Python编程经验

  • 视频链接
  • 视频截图
    华为昇腾CANN模型开发(CANN训练营2022年度第一季-学习笔记)_第1张图片

1. 使用位置和关键字参数定义和调用函数

  • 函数:一段具有特定功能的、可重复使用的语句组,可看作一段有名字的子程序。Python中使用def保留字定义函数
 def<函数名>(<形式参数列表>):
 	<函数体>
 	return<返回值列表>	
  • 推荐阅读 https://blog.csdn.net/panc_guizaijianchi/article/details/121649959

2. 字典、 列表、 集合(创建、访问和迭代)

  • 推荐阅读 https://www.cnblogs.com/sorui/p/6576450.html

3.for 循环, for 具有多个迭代器变量的循环(例如,for a, b in [(1,2), (3,4)])

for a, b in [(1,2), (3,4)]:
    print('a=',a)
    print('b=',b)
    print('next') 

a= 1
b= 2
next
a= 3
b= 4
next

  • 推荐阅读 https://www.cnblogs.com/pengzhuopeng/p/9194993.html

4. if/else 条件块和条件表达式

  • 推荐阅读 https://blog.csdn.net/hh5820/article/details/80964247

5. 字符串格式 (例如,’%.2f’ % 3.14)

a = 321.123456
b = '%.2f' % a
print(b)

321.12

  • 推荐阅读 https://blog.csdn.net/ning13481193737/article/details/80948501

6. 变量、赋值、基本数据类型 (int, float, bool, str 等)

  • 推荐阅读 https://blog.csdn.net/weixin_43444687/article/details/107403433

2.2 了解深度学习和神经网络

  • 视频链接
  • 视频截图
  • 推荐视频 https://space.bilibili.com/1065788740/channel/collectiondetail?sid=37029&ctype=0

2.3 了解TensorFlow AI框架

  • 官方网站 https://tensorflow.google.cn/
  • 官方中文教程 https://tensorflow.google.cn/tutorials
  • 推荐阅读 https://blog.csdn.net/fenglepeng/article/details/105438783

2.4 昇腾AI全栈架构

  • 视频链接
  • 视频截图
  • 补充:
    • 芯片部分:
      • 集成在其他芯片中的,如麒麟9000中的NPU;
      • 单独成片的,昇腾310用于推理,昇腾910用于训练
    • MindSpore:华为自研开源AI框架
    • ModelArts:华为云上的训练资源平台

2.5 异构计算架构CANN

  • 视频链接
  • 视频截图
  • 补充:
    AscendCL:用于推理加速计算的API

2.6 了解基于CANN的模型开发流程

  • 视频链接
  • 视频截图
  • 推荐阅读 https://support.huaweicloud.com/tfmigr-cann51RC1alpha1/atlasmprtg_13_9002.html

2.7 了解遇到问题如何求助

  1. 在训练营求助
  2. 在ModeZoo提交Issue https://gitee.com/ascend/modelzoo
  3. 在昇腾社区论坛查询、发帖 https://bbs.huaweicloud.com/forum/forum-726-1.html

2.8 小作业1

  • 【结束后补充】

【直播1】CANN训练营22年度第一季开营仪式直播

  • 回放链接
  • 直播内容
  • 昇腾官网链接 https://www.hiascend.com/
  • 硬件 https://www.hiascend.com/hardware/developer-kit
    • 训练是构建模型、研发过程,推理是使用模型、应用过程
  • 软件
    • ModelZoo 已经能跑起来的模型库
    • ModelArts 训练环境平台
    • MindStudio 用于开发昇腾的IDE,与设备关联密切
    • CANN https://www.hiascend.com/software/cann
      • 社区版=Beta版
  • 开发者
    • 活动、论坛
  • 生态合作
    • 昇腾众智计划:合作迁移模型,个人开发者应该也可以申请
  • 昇腾学院
    • 课程更加详细,训练营中是部分重点
  • 活动流程

3 TensorFlow AI模型迁移详解.

3.1本章学习日标

  • 了解为什么要做模型迁移
  • 了解模型迁移的两种迁移方式
  • 掌握如何进行模型迁移

3.2为什么要做模型迁移

  • 视频链接
  • 视频截图

3.3了解两种模型迁移方式

  • 视频链接
  • 视频截图华为昇腾CANN模型开发(CANN训练营2022年度第一季-学习笔记)_第2张图片

3.4 TensorFlow AI模型自动迁移详解

  • 视频链接
  • 视频截图
    华为昇腾CANN模型开发(CANN训练营2022年度第一季-学习笔记)_第3张图片
  • 学习文档

3.5 TensorFlow AI模型手工迁移详解

  • 视频链接
  • 视频截图
  • 课程链接
  • 在线实验链接
  • 文档链接华为昇腾CANN模型开发(CANN训练营2022年度第一季-学习笔记)_第4张图片

3.6小作业2.

  • 【结束后补充】

已暂停更新

你可能感兴趣的:(CANN,python,机器学习,华为,tensorflow,深度学习)