课程介绍

本课程旨在让学习者熟悉SOPHGO产品,了解其基本用法,掌握其应用场景,初步了解SOPHGO产品。本课程涵盖产品介绍、SE5服务器开发环境设置、产品部署和应用示例。完成本课程的所有内容使您有资格参加“初级IT运营工程师”认证考试。

课程的特点

  1. 材料丰富全面:课程包括视频教程、教学文档,提供详细丰富的信息。代码下载链接:https://github.com/sophon-ai-algo/examples
  2. 系统教学:从基础介绍到搭建开发环境,再到产品的实际部署,系统地涵盖了整个开发过程,为读者提供了完整的知识体系。
  3. 免费云开发资源:您可以在线申请免费使用SE5-16微服务器云测试空间:
  • 云平台应用链接:https://account.sophgo.com/sign_in?service=https://cloud.sophgo.com&locale=zh-CN
  • 云平台使用说明:https://cloud.sophgo.com/tpu.pdf
  • 注:SE5-16微服务器云测试空间允许在线开发、测试,支持用户数据保留和导出;SE5-16微服务器云测试空间内的资源性能与物理机环境一致。

课程目录

本课程是一门与“初级IT运维工程师”认证考试相对应的学习课程,旨在为学习者提供基本的产品知识和技能。虽然本课程假设学习者没有编程背景,但为了让学习者更好地掌握课程内容,我们建议学生具备以下先决条件:

  • 基本的Linux操作:大多数开发都是在Linux环境中完成的,开发涉及到基本的Linux操作,包括文件管理、网络配置、文本编辑器Vim等等。
  • 基本的Docker用法:包括提取镜像、创建容器、运行/删除容器等。
  • 编程语言:本课程的教程涵盖Python和c++编程语言,计算能量工具链还为这两种语言提供了api,供开发人员调用。

尽管有以上的先决条件/建议,但欢迎没有经验的学习者加入课程。本课程将采用简单易懂的教学方法,辅以例题和练习,帮助学生逐步掌握编程技能。对于没有经验的学习者,您可以通过本课程的第2章“常用命令”快速学习预要求;对于那些有开发经验的人,您可以自动跳过第2章的内容,直接通过第3章和第4章进行部署。同时,有实力学习的开发者可以尝试在设备上完成新模型的移植部署。

课程章节 ( 15节课)

1_ 产品介绍
开始学习
1.1 SE5 微服务器产品介绍
待学习
1.2 华山派开发板产品介绍
待学习
1.3 少林派开发板产品介绍
待学习
1.4 智能小车产品介绍
待学习
1.5 SOPHTEAM算法一体机产品介绍
待学习
2_ 常用命令
开始学习
2.1 Linux常用命令
待学习
2.2 Docker基础使用
待学习
2.3 VIM编辑器的基础使用
待学习
3_ 环境搭建
开始学习
3.1 SE5 开箱连接指南
待学习
3.2 SE5 交叉编译环境搭建
待学习
3.3 SE5 快速跑通一个SoC模式example
待学习
4_ 部署应用
开始学习
4.1 基于YOLOv5实现目标检测
待学习
4.2 基于YOLACT实现目标跟踪
待学习
4.3 基于CenterNet实现图像分割
待学习
4.4 基于PP_OCR实现文字识别
待学习

课程目标

学习本课程,你可以:

  • 了解SOPHGO高性能计算产品信息,包括:SE5深度学习微服务器、华山开发板、少林开发板、KT001智能车、算法嵌入式机。
  • 学习设置SE5深度学习微服务器的工作环境,包括网络配置和交叉编译环境设置。
  • 学习使用主流模型开发深度学习应用,进行模型转换、量化,最终将模型部署在SE5深度学习微服务器上。
  • 在完成所有课程内容并通过智丰职业技能认证考试后,您将获得“初级IT运营工程师”的认证。

课程对象

  1. 希望了解sopon产品及其基本用法和应用场景的个人;
  2. 有志于通过智锋职业技能认证考试获得初级IT运维工程师认证的个人;
  3. 在sopon接受入职培训的员工。

课程推荐

course-cover

编译器开发

作为框架和硬件之间的桥梁,深度学习编译器可以实现一次性代码开发和重用各种计算能力处理器的目标。最近,算能也开源了自己开发的TPU编译工具——TPU-MLIR (Multi-Level Intermediate Representation)。TPU-MLIR是一个面向深度学习处理器的开源TPU编译器。该项目提供了完整的工具链,将各种框架下预训练的神经网络转换为可在TPU中高效运行的二进制文件bmodel,以实现更高效的推理。本课程以实际实践为驱动,引导您直观地理解、实践、掌握智能深度学习处理器的TPU编译框架。

目前,TPU-MLIR项目已应用于算能开发的最新一代深度学习处理器BM1684X。结合处理器本身的高性能ARM内核以及相应的SDK,可以实现深度学习算法的快速部署。本课程将介绍MLIR的基本语法,以及编译器中各种优化操作的实现细节,如图形优化、int8量化、算子分割、地址分配等。

与其他编译工具相比,TPU-MLIR有几个优点

1. 简单方便

通过阅读开发手册和项目中包含的示例,用户可以了解模型转换的过程和原理,并快速入门。此外,TPU-MLIR是基于当前主流编译工具库MLIR设计的,用户也可以通过它了解MLIR的应用。本项目提供了一套完整的工具链,用户可直接通过现有接口快速完成模型转换工作,无需适应不同的网络。

2. 通用性

目前,TPU- mlir已经支持TFLite和onnx两种格式,这两种格式的模型可以直接转换为TPU可用的bmodel。如果不是这两种格式呢?事实上,onnx提供了一套转换工具,可以将目前市场上主要的深度学习框架编写的模型转换为onnx格式,然后再进行bmodel转换。

3、精度与效率并存

在模型转换过程中,有时会失去精度。TPU-MLIR支持INT8对称和非对称量化,结合原开发公司的校准和tune技术,大大提高了性能,保证了模型的高精度。此外,TPU-MLIR还使用了大量的图优化和算子分割优化技术来保证模型的高效运行。

4. 实现终极性价比,构建下一代深度学习编译器

为了支持图形化计算,神经网络模型中的算子需要开发图形化版本;为了适应TPU,应该为每个运营商开发一个版本的TPU。此外,有些场景需要适应相同计算能力处理器的不同型号,每次都必须手工编译,这将非常耗时。深度学习编译器就是用来解决这些问题的。TPU-mlir的一系列自动优化工具可以节省大量的人工优化时间,因此在RISC-V上开发的模型可以顺利自由地移植到TPU上,以获得最佳的性能和性价比。

5. 完整的信息

课程包括中英文视频教学、文档指导、代码脚本等,详实丰富的视频资料详细应用指导清晰的代码脚本TPU-MLIR站在MLIR巨头的肩膀上打造,现在整个项目的所有代码都已经开源,免费向所有用户开放。

代码下载链接:https://github.com/sophgo/tpu-mlir

tpu - mlir开发参考手册:https://tpumlir.org/docs/developer_manual/01_introduction.html

总体设计思想论文:https://arxiv.org/abs/2210.15016

视频教程:https://space.bilibili.com/1829795304/channel/collectiondetail?sid=734875

课程目录

序号 课程名 课程分类 课程资料
      视频 文档 代码
1.1 Deep learning编译器基础 TPU_MLIR基础
1.2 MLIR基础 TPU_MLIR基础
1.3 MLIR基本结构 TPU_MLIR基础
1.4 MLIR之op定义 TPU_MLIR基础
1.5 TPU_MLIR介绍(一) TPU_MLIR基础
1.6 TPU_MLIR介绍(二) TPU_MLIR基础
1.7 TPU_MLIR介绍(三) TPU_MLIR基础
1.8 量化概述 TPU_MLIR基础
1.9 量化推导 TPU_MLIR基础
1.10  量化校准 TPU_MLIR基础
1.11 量化感知训练(一) TPU_MLIR基础
1.12  量化感知训练(二) TPU_MLIR基础
2.1 Pattern Rewriting TPU_MLIR实战
2.2 Dialect Conversion TPU_MLIR实战
2.3 前端转换 TPU_MLIR实战
2.4 Lowering in TPU_MLIR TPU_MLIR实战
2.5 添加新算子 TPU_MLIR实战
2.6 TPU_MLIR图优化 TPU_MLIR实战
2.7 TPU_MLIR常用操作 TPU_MLIR实战
2.8 TPU原理(一) TPU_MLIR实战
2.9 TPU原理(二) TPU_MLIR实战
2.10  后端算子实现 TPU_MLIR实战
2.11 TPU层优化 TPU_MLIR实战
2.12 bmodel生成 TPU_MLIR实战
2.13 To ONNX format TPU_MLIR实战
2.14 Add a New Operator TPU_MLIR实战
2.15 TPU_MLIR模型适配 TPU_MLIR实战
2.16 Fuse Preprocess TPU_MLIR实战
2.17 精度验证 TPU_MLIR实战

 

course-cover

Milk-V Duo开发板实践课程

本课程介绍了硬件电路的设计和基本环境的搭建,并提供了一些简单的开发示例和一些基本的深度学习示例。

Milk-V Duo是基于CV1800B的超小型嵌入式开发平台。它体积小,功能全面,配备双核,可以分别运行linux和rtos系统,并具有各种可连接的外设。

  • 可扩展性:Milk-V Duo核心板具有多种接口,如GPIO, I2C, UART, SDIO1, SPI, ADC, PWM等。
  • 多种可连接外设:Milk-V Duo核心板可扩展各种设备,如LED,便携式屏幕,摄像头,WIFI等。

课程特点:

  • 内容材料丰富完整,包括开发板硬件设计、外设接口说明、基本环境设置方法、示例代码脚本等。
  • 学习路径科学合理,从开发板的介绍和基本使用开始,引导到实际项目,充分利用开发板,为用户自身开发提供参考。
  • 实际项目丰富,课程提供了许多实际代码使用和功能演示的示例。通过简单地修改和组合代码,可以实现不同的功能。

课程目录

course-cover

SE5开发系列课

深度神经网络模型可以快速训练和测试,然后由行业部署,在现实世界中有效地执行任务。在小型、低功耗的深度学习边缘计算平台上部署这样的系统受到业界的高度青睐。本课程采用实践驱动的方法,引导你直观地学习、实践和掌握深度神经网络的知识和技术。

SOPHON深度学习微服务器SE5是采用SOPHON自主研发的第三代TPU处理器BM1684的高性能、低功耗边缘计算产品。INT8运算能力高达17.6 TOPS,支持32路全高清视频硬件解码和2路编码。本课程将快速引导您了解SE5服务器的强大功能。通过本课程,您可以了解深度学习的基础知识并掌握其基本应用。

课程的特点

1. 一站式服务

 在SE5应用程序中遇到的所有常见问题都可以在这里找到。

  • 为深度学习微服务器提供全栈解决方案
  • 一步一步、详细而清晰地分解开发过程
  • 支持所有主流框架,易于使用的产品

2. 系统的教学

它包括设置环境、开发应用程序、转换模型和部署产品,以及拥有镜像的实际环境等所有内容。

  • 环境是如何构建的?
  • 如何编译模型?
  • 应用程序是如何开发的?
  • 场景如何部署?

3. 完整的材料

本课程包括视频教程、文档指南、代码脚本和其他综合材料。

  • 丰富的视频素材
  • 详细的应用指导
  • 清晰的代码脚本
  • 代码下载链接:https://github.com/sophon-ai-algo/examples

4. 免费的云开发资源

在线免费申请使用SE5-16微服务器云测试空间