研究生课程教学大纲 0608546008《嵌入式人工智能》教学大纲 课程 课程中 编号 0608546008 嵌入式人工智能 学时 40 文名称 口学位课 课程 课程英 口非学位课 Embedded Artificial Intelligence 2.0 性质 ☑其他 文名称 学分 开课 ☑春 适用学科 控制科学与工程仪器科学与技术 适用 ☑硕士 时间 口秋 (类别) 电子科学与技术信息与通信工程 学生 口博士 先修课程 微处理器系统结构、C/C+程序设计、机器学习 开课单位 自动化工程学院 大纲撰写人 杨峰 大纲审稿人 肖寅东 制(修)定时间 2022.03 课程简介(中英文) 《嵌入式人工智能》是针对自动化、电子电气、信息通信等专业的一门实践性课程。嵌 入式人工智能不但具有嵌入式系统的行为能力,同时具有人工智能的思考能力,这两者的结 合可以让无人机、自动驾驶汽车、机器人等智能硬件在不联网的情况下实时完成环境感知、 人机交互、决策控制等功能。本课程在学习(线上)嵌入式系统相关处理器、中断服务机制、 总线与接口、操作系统、软件开发平台等内容的基础上,对神经网络模型的压缩和加速、嵌 入式AI程序的开发和优化,以及基于华为昇腾的CANN开发平台的相关知识进行研习。然 后通过数个嵌入式AI案例的动手实践,完成对相关知识的运用和提升。 "Embedded Artificial Intelligence"is a practical course for majors in automation,electrical and electronic,information and communication.Embedded artificial intelligence not only has the behavioral ability of embedded systems,but also has the thinking ability of artificial intelligence. The combination of these two can enable the intelligent hardware such as UAV,autopilot,robot and so on to accomplish real-time environmental awareness,human-machine interaction,decision control and other functions without networking. On the basis of studying(online)the processor,interrupt service mechanism,bus and interface, operating system,software development platform and other contents related to embedded system, this course studies the compression and acceleration of neural network model,the development and optimization of embedded AI program,and the relevant knowledge of CANN development platform based on Huawei's Ascend.Then,through the hands-on practice of several embedded AI cases,the application and improvement of relevant knowledge are completed. 一、教学目标 通过本课程教学,使学生了解嵌入式系统所涉及的基本概念,掌握嵌入式处理器、中断 服务机制、嵌入式总线与接口、嵌入式操作系统、嵌入式软件开发平台、嵌入式Liux驱动 开发等相关内容。同时结合神经网络模型在嵌入式系统上进行部署的要求,掌握神经网络模 型的压缩和加速、嵌入式AI程序的开发和优化,华为昇腾CANN开发平台运用等相关知
研究生课程教学大纲 1 0608546008《嵌入式人工智能》教学大纲 课程 编号 0608546008 课程中 文名称 嵌入式人工智能 学时 40 课程 性质 □学位课 □非学位课 ☑其他 课程英 文名称 Embedded Artificial Intelligence 学分 2.0 开课 时间 ☑春 □秋 适用学科 (类别) 控制科学与工程 仪器科学与技术 电子科学与技术 信息与通信工程 适用 学生 ☑硕士 □博士 先修课程 微处理器系统结构、C/C++程序设计、机器学习 开课单位 自动化工程学院 大纲撰写人 杨峰 大纲审稿人 肖寅东 制(修)定时间 2022.03 课程简介(中英文) 《嵌入式人工智能》是针对自动化、电子电气、信息通信等专业的一门实践性课程。嵌 入式人工智能不但具有嵌入式系统的行为能力,同时具有人工智能的思考能力,这两者的结 合可以让无人机、自动驾驶汽车、机器人等智能硬件在不联网的情况下实时完成环境感知、 人机交互、决策控制等功能。本课程在学习(线上)嵌入式系统相关处理器、中断服务机制、 总线与接口、操作系统、软件开发平台等内容的基础上,对神经网络模型的压缩和加速、嵌 入式 AI 程序的开发和优化,以及基于华为昇腾的 CANN 开发平台的相关知识进行研习。然 后通过数个嵌入式 AI 案例的动手实践,完成对相关知识的运用和提升。 "Embedded Artificial Intelligence" is a practical course for majors in automation, electrical and electronic, information and communication. Embedded artificial intelligence not only has the behavioral ability of embedded systems, but also has the thinking ability of artificial intelligence. The combination of these two can enable the intelligent hardware such as UAV, autopilot, robot and so on to accomplish real-time environmental awareness, human-machine interaction, decision control and other functions without networking. On the basis of studying (online) the processor, interrupt service mechanism, bus and interface, operating system, software development platform and other contents related to embedded system, this course studies the compression and acceleration of neural network model, the development and optimization of embedded AI program, and the relevant knowledge of CANN development platform based on Huawei’s Ascend. Then, through the hands-on practice of several embedded AI cases, the application and improvement of relevant knowledge are completed. 一、教学目标 通过本课程教学,使学生了解嵌入式系统所涉及的基本概念,掌握嵌入式处理器、中断 服务机制、嵌入式总线与接口、嵌入式操作系统、嵌入式软件开发平台、嵌入式 Linux 驱动 开发等相关内容。同时结合神经网络模型在嵌入式系统上进行部署的要求,掌握神经网络模 型的压缩和加速、嵌入式 AI 程序的开发和优化,华为昇腾 CANN 开发平台运用等相关知
研究生课程教学大纲 识。并通过嵌入式A案例的工程实践,锻炼学生自主学习能力和解决实际工程问题的能力, 提升创新意识。 二、教学内容与要求 本课程分为线上自学、课堂教学和实践教学三部分,共40学时,其中课堂教学20学 时,实践教学20学时。 1、线上学习 通过学堂在线学习《嵌入式系统设计》课程,主讲者电子科技大学杨峰,具体网址链接 http://www.xuetangx.com/courses/course-v1:UESTC+2017071301X+sp/about). 线上学习包括共五个章节的内容:嵌入式系统基础,嵌入式处理器,嵌入式操作系统, 嵌入式软件开发平台,嵌入式Liux驱动开发。通过线上学习,要求学生理解ARM处理器 内核系列、ARM体系架构、ARM处理器模式、ARM内部寄存器,掌握ARM体系的异常 处理、ARM体系的存储系统。理解Linux操作系统内核结构,掌握RTLinux的中断模拟、 实时调度和计时机制。理解GCC的编译流程,掌握GCC编译器选项、GDB调试器的使用 方法。理解Liux设备模型和外设I/O端口访问,掌握字符设备、块设备和网络设备的驱动 编写方法。 2、课堂教学 课堂教学包括以下7个章节的内容: 第1章嵌入式人工智能概述(3学时) 1本章教学内容: (1)嵌入式人工智能概念(1学时) (2)嵌入式人工智能实现手段(1学时) (3)嵌入式人工智能应用场景(0.5学时) (4)嵌入式人工智能发展趋势(0.5学时) 2本章教学要求: 通过本章课程的学习,要求学生理解嵌入式人工智能的基本概念,掌握实现嵌入式人工 智能的手段,了解嵌入式人工智能的应用场景和发展趋势。 3本章教学重点: (1)嵌入式人工智能的基本概念 4本章教学难点: (1)实现嵌入式人工智能的手段 第2章机器学习基础(2学时) 1本章教学内容: (1)机器学习的相关概念(1学时) (2)机器学习的类型(1学时) 2本章教学要求: 通过本章课程的学习,要求学生理解专家系统、机器学习、深度学习、神经网络各个概 念的关系。掌握监督学习、非监督学习、强化学习的基本概念和实现方式。 3本章教学重点: (1)专家系统、机器学习、深度学习、神经网络的基本概念 2
研究生课程教学大纲 2 识。并通过嵌入式 AI 案例的工程实践,锻炼学生自主学习能力和解决实际工程问题的能力, 提升创新意识。 二、教学内容与要求 本课程分为线上自学、课堂教学和实践教学三部分,共 40 学时,其中课堂教学 20 学 时,实践教学 20 学时。 1、 线上学习 通过学堂在线学习《嵌入式系统设计》课程,主讲者电子科技大学杨峰,具体网址链接 http://www.xuetangx.com/courses/course-v1:UESTC+2017071301X+sp/about)。 线上学习包括共五个章节的内容:嵌入式系统基础,嵌入式处理器,嵌入式操作系统, 嵌入式软件开发平台,嵌入式 Linux 驱动开发。通过线上学习,要求学生理解 ARM 处理器 内核系列、ARM 体系架构、ARM 处理器模式、ARM 内部寄存器,掌握 ARM 体系的异常 处理、ARM 体系的存储系统。理解 Linux 操作系统内核结构,掌握 RTLinux 的中断模拟、 实时调度和计时机制。理解 GCC 的编译流程,掌握 GCC 编译器选项、GDB 调试器的使用 方法。理解 Linux 设备模型和外设 I/O 端口访问,掌握字符设备、块设备和网络设备的驱动 编写方法。 2、 课堂教学 课堂教学包括以下 7 个章节的内容: 第 1 章 嵌入式人工智能概述(3 学时) 1 本章教学内容: (1)嵌入式人工智能概念(1 学时) (2)嵌入式人工智能实现手段(1 学时) (3)嵌入式人工智能应用场景(0.5 学时) (4)嵌入式人工智能发展趋势(0.5 学时) 2 本章教学要求: 通过本章课程的学习,要求学生理解嵌入式人工智能的基本概念,掌握实现嵌入式人工 智能的手段,了解嵌入式人工智能的应用场景和发展趋势。 3 本章教学重点: (1)嵌入式人工智能的基本概念 4 本章教学难点: (1)实现嵌入式人工智能的手段 第 2 章 机器学习基础(2 学时) 1 本章教学内容: (1)机器学习的相关概念(1 学时) (2)机器学习的类型(1 学时) 2 本章教学要求: 通过本章课程的学习,要求学生理解专家系统、机器学习、深度学习、神经网络各个概 念的关系。掌握监督学习、非监督学习、强化学习的基本概念和实现方式。 3 本章教学重点: (1)专家系统、机器学习、深度学习、神经网络的基本概念
研究生课程教学大纲 4本章教学难点: (1)监督学习、非监督学习、强化学习的实现方式 第3章深度学习与卷积神经网络(2学时) 1本章教学内容: (1)深度学习方法和反向传播(1学时) (2)卷积神经网络(1学时) 2本章教学要求: 通过本章课程的学习,要求学生了解深度学习方法、多层感知机和反向传播算法。掌握 卷积神经网络的结构、卷积运算、损失函数、优化器等相关内容。 3本章教学重点: (1)深层神经网络中的前向传播和反向传播原理 4本章教学难点: (1)卷积运算、损失函数和优化器 第4章神经网络模型的压缩与加速(3学时) 1本章教学内容: (1)模型剪枝与低秩分解(1学时) (2)权值共享和模型量化(1学时) (3)知识蒸馏(0.5学时) (4)精简网络结构(0.5学时) 2本章教学要求: 通过本章课程的学习,要求学生掌握模型剪枝与低秩分解、权值共享和模型量化、知识 蒸馏和精简网络结构等网络压缩与加速方法。 3本章教学重点: (1)网络剪枝与模型量化 (2)精简网络结构 4本章教学难点: (1)知识蒸馏 第5章嵌入式AI编程优化(4学时) 1本章教学内容: (1)Linux性能调优工具(0.5学时) (2)C语言编程及优化(0.5学时) (3)处理器编程优化(1.5学时) (4)内存编程优化(1.5学时) 2本章教学要求: 通过本章课程的学习,要求学生了解Liux性能调优工具,掌握C语言的基础编程和性 能优化、CPU流水线、Cacheline性能优化、CPU亲和性、内存分配和内存拷贝优化等嵌入 式编程要点。 3本章教学重点: (1)CPU流水线 (2)Cacheline性能优化 (3)CPU亲和性 3
研究生课程教学大纲 3 4 本章教学难点: (1)监督学习、非监督学习、强化学习的实现方式 第 3 章 深度学习与卷积神经网络(2 学时) 1 本章教学内容: (1)深度学习方法和反向传播(1 学时) (2)卷积神经网络(1 学时) 2 本章教学要求: 通过本章课程的学习,要求学生了解深度学习方法、多层感知机和反向传播算法。掌握 卷积神经网络的结构、卷积运算、损失函数、优化器等相关内容。 3 本章教学重点: (1)深层神经网络中的前向传播和反向传播原理 4 本章教学难点: (1)卷积运算、损失函数和优化器 第 4 章 神经网络模型的压缩与加速(3 学时) 1 本章教学内容: (1)模型剪枝与低秩分解(1 学时) (2)权值共享和模型量化(1 学时) (3)知识蒸馏(0.5 学时) (4)精简网络结构(0.5 学时) 2 本章教学要求: 通过本章课程的学习,要求学生掌握模型剪枝与低秩分解、权值共享和模型量化、知识 蒸馏和精简网络结构等网络压缩与加速方法。 3 本章教学重点: (1)网络剪枝与模型量化 (2)精简网络结构 4 本章教学难点: (1)知识蒸馏 第 5 章 嵌入式 AI 编程优化(4 学时) 1 本章教学内容: (1)Linux 性能调优工具(0.5 学时) (2)C 语言编程及优化(0.5 学时) (3)处理器编程优化(1.5 学时) (4)内存编程优化(1.5 学时) 2 本章教学要求: 通过本章课程的学习,要求学生了解 Linux 性能调优工具,掌握 C 语言的基础编程和性 能优化、CPU 流水线、Cacheline 性能优化、CPU 亲和性、内存分配和内存拷贝优化等嵌入 式编程要点。 3 本章教学重点: (1)CPU 流水线 (2)Cacheline 性能优化 (3)CPU 亲和性
研究生课程教学大纲 (4)内存分配和内存拷贝优化 4本章教学难点: (1)cacheline性能优化 第6章嵌入式AI硬件开发平台(3学时) 1本章教学内容: (1)AI芯片发展历程(0.5学时) (2)华为昇腾310AI处理器(2学时) (3)Atlas200DK开发套件(0.5学时) 2本章教学要求: 通过本章课程的学习,要求学生了解AI芯片发展历程,掌握昇腾310处理器结构、达 芬奇矩阵运算架构、DVPP数字视频处理、AI推理数据流等内容。 3本章教学重点: (1)昇腾310处理器结构 (2)达芬奇矩阵运算架构 (3)DVPP数字视频处理 4本章教学难点: (1)达芬奇矩阵运算架构 第7章嵌入式AI软件开发平台(3学时) 1本章教学内容: (1)CANN异构计算架构(2学时) (2)MindStudio集成开发环境(1学时) 2本章教学要求: 通过本章课程的学习,要求学生掌握AI异构计算架构、CANN软件栈、AI CPU子系统、 DVPP子系统,熟悉MindStudio集成开发环境。 3本章教学重点: (1)AI异构计算架构 (2)CANN软件栈 (3)DVPP子系统 4本章教学难点: (1)CANN软件栈 3、实践教学 实践1 Linux性能调优工具使用(3学时) (1)开发环境搭建 (2)Linux系统基本操作 (3) perf、top性能工具的熟练使用 (4)了解nmon、vmstat、strace等其他性能工具 实践2嵌入式编程优化(4学时) (1)C语言编程及优化 (2)处理器编程优化 4
研究生课程教学大纲 4 (4)内存分配和内存拷贝优化 4 本章教学难点: (1)cacheline 性能优化 第 6 章 嵌入式 AI 硬件开发平台(3 学时) 1 本章教学内容: (1)AI 芯片发展历程(0.5 学时) (2)华为昇腾 310 AI 处理器(2 学时) (3)Atlas200DK 开发套件(0.5 学时) 2 本章教学要求: 通过本章课程的学习,要求学生了解 AI 芯片发展历程,掌握昇腾 310 处理器结构、达 芬奇矩阵运算架构、DVPP 数字视频处理、AI 推理数据流等内容。 3 本章教学重点: (1)昇腾 310 处理器结构 (2)达芬奇矩阵运算架构 (3)DVPP 数字视频处理 4 本章教学难点: (1)达芬奇矩阵运算架构 第 7 章 嵌入式 AI 软件开发平台(3 学时) 1 本章教学内容: (1)CANN 异构计算架构(2 学时) (2)MindStudio 集成开发环境(1 学时) 2 本章教学要求: 通过本章课程的学习,要求学生掌握 AI 异构计算架构、CANN 软件栈、AI CPU 子系统、 DVPP 子系统,熟悉 MindStudio 集成开发环境。 3 本章教学重点: (1)AI 异构计算架构 (2)CANN 软件栈 (3)DVPP 子系统 4 本章教学难点: (1)CANN 软件栈 3、 实践教学 实践 1 Linux 性能调优工具使用(3 学时) (1) 开发环境搭建 (2) Linux 系统基本操作 (3) perf、top 性能工具的熟练使用 (4) 了解 nmon、vmstat、strace 等其他性能工具 实践 2 嵌入式编程优化(4 学时) (1) C 语言编程及优化 (2) 处理器编程优化
研究生课程教学大纲 (3)内存编程优化 实践3基于新工程开发嵌入式A虹应用(3学时) (1)创建以acl_resnet50样例为模板的工程,该样例基于Caffe ResNet-50网络(单 输入、单Batch)实现图片分类: (2)将Caffe ResNet--50网络的模型文件转换为适配昇腾Al处理器的离线模型(*.om 文件),加载该om文件,对2张*jPg图片进行同步推理,输出top5置信度的 类别标识。 实践4视频人脸识别(5学时) (1)通过人脸检测、关键点检测、特征向量提取三个模型的推理之后完成人脸特征 提取: (2)将Application部署至Atlas2O0DK上实现人脸注册并对视频流中的人脸进行识 别,与己注册的人脸进行比对,预测出最可能的用户: (3) 推理结果经过后处理解析后,调用Presenter Agent的接口向Presenter Server发 送数据,Presenter Server接收到Presenter Agent发送的数据后,进行画框和ID 展示,用户通过浏览器访问Presenter Server查看人脸识别的结果。 实践5基于CAN的无人车(5学时) (1)通过Atas200DK加载模型,从摄像头获取输入,实现图像推理等操作: (2)通过杜邦线把推理结果传递给电机驱动板,实现小车实时控制: (3) 通过加载A!模型实现无人车检测车道线、小车前方是否有跌落危险检测、小车 前方物体检测等功能: (4)下载手机端遥控软件,操控验证小车车道线检测、防跌落、物体跟随等功能。 三、教学方式 课程采取“线上自学+课堂教学+案例实践”并行的教学方式。 钱上自学 嵌入式系统 嵌入式处 嵌入式操 嵌入式软件 嵌入式linux 基础 理器 作系统 开发平台 驱动开发 课堂教学 嵌入式AI 神经网络模型 嵌入式编 CPU/内存/通 嵌入式AI硬 嵌入式AI软 概述 压缩与加速 程概要 信编程优化 件开发平台 件开发平台 案例实践 嵌入式AI 嵌入式C 嵌入式CPU 嵌入式内存 昇腾310 应用开发与 开发环境 编程实践 编程优化 编程优化 TBE算子开发 推理部署 四、考核方式与成绩评定 1.课程考核方式:考查。 2.成绩评定:实践过程70%+应用项目设计报告30% 5
研究生课程教学大纲 5 (3) 内存编程优化 实践 3 基于新工程开发嵌入式 AI 应用(3 学时) (1) 创建以 acl_resnet50 样例为模板的工程,该样例基于 Caffe ResNet-50 网络(单 输入、单 Batch)实现图片分类; (2) 将 Caffe ResNet-50 网络的模型文件转换为适配昇腾 AI 处理器的离线模型(*.om 文件),加载该 om 文件,对 2 张*.jpg 图片进行同步推理,输出 top5 置信度的 类别标识。 实践 4 视频人脸识别 (5 学时) (1) 通过人脸检测、关键点检测、特征向量提取三个模型的推理之后完成人脸特征 提取; (2) 将 Application 部署至 Atlas 200 DK 上实现人脸注册并对视频流中的人脸进行识 别,与已注册的人脸进行比对,预测出最可能的用户; (3) 推理结果经过后处理解析后,调用 Presenter Agent 的接口向 Presenter Server 发 送数据,Presenter Server 接收到 Presenter Agent 发送的数据后,进行画框和 ID 展示,用户通过浏览器访问 Presenter Server 查看人脸识别的结果。 实践 5 基于 CANN 的无人车(5 学时) (1) 通过 Atlas200 DK 加载模型,从摄像头获取输入,实现图像推理等操作; (2) 通过杜邦线把推理结果传递给电机驱动板,实现小车实时控制; (3) 通过加载 AI 模型实现无人车检测车道线、小车前方是否有跌落危险检测、小车 前方物体检测等功能; (4) 下载手机端遥控软件,操控验证小车车道线检测、防跌落、物体跟随等功能。 三、教学方式 课程采取“线上自学+课堂教学+案例实践”并行的教学方式。 嵌入式系统 基础 嵌入式处 理器 嵌入式操 作系统 嵌入式软件 开发平台 嵌入式linux 驱动开发 嵌入式AI 概述 神经网络模型 压缩与加速 嵌入式编 程概要 嵌入式AI硬 件开发平台 嵌入式AI软 件开发平台 嵌入式AI 开发环境 嵌入式C 编程实践 嵌入式CPU 编程优化 嵌入式内存 编程优化 线上自学 课堂教学 案例实践 昇腾310 TBE算子开发 应用开发与 推理部署 CPU/内存/通 信编程优化 四、考核方式与成绩评定 1. 课程考核方式:考查。 2. 成绩评定:实践过程 70%+应用项目设计报告 30%
研究生课程教学大纲 本课程共5个实践案例,每个案例都有相应的4-5个完成评估指标,根据指标完成70% 的成绩评定。实践案例的完成指标达到要求后,学生需要完成相应的应用项目报告,内容包 括项目介绍、环境要求、功能模块、实施过程、成果展示、体会与感想、代码附件清单等, 项目报告完成另外30%的成绩评定。 除了案例完成情况和应用项目报告外,还会考虑学生在项目方案中提出一些巧妙的解决 思路和方法,将对这类方案给出特别贡献分。 五、教材及主要参考书目 教材: [1]《嵌入式系统原理及技术》,杨峰,王磊编著,科学出版社,2014年 [2]《嵌入式人工智能一一基于华为昇腾的开发实践》,杨峰等编著,预计2023年出版 (大纲撰写人:杨峰) 6
研究生课程教学大纲 6 本课程共 5 个实践案例,每个案例都有相应的 4-5 个完成评估指标,根据指标完成 70% 的成绩评定。实践案例的完成指标达到要求后,学生需要完成相应的应用项目报告,内容包 括项目介绍、环境要求、功能模块、实施过程、成果展示、体会与感想、代码附件清单等, 项目报告完成另外 30%的成绩评定。 除了案例完成情况和应用项目报告外,还会考虑学生在项目方案中提出一些巧妙的解决 思路和方法,将对这类方案给出特别贡献分。 五、教材及主要参考书目 教材: [1]《嵌入式系统原理及技术》,杨峰, 王磊编著,科学出版社,2014 年 [2]《嵌入式人工智能——基于华为昇腾的开发实践》,杨峰等编著,预计 2023 年出版 (大纲撰写人:杨峰)