mirror of
https://github.com/sipeed/sipeed_wiki.git
synced 2026-11-09 17:44:31 -06:00
update AI deploy and AX-Pi usage
This commit is contained in:
21
docs/hardware/zh/maixIII/ax620a/ai.md
Normal file
21
docs/hardware/zh/maixIII/ax620a/ai.md
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: 是在 Maix-III(M3) 系列 AX-Pi 开发板上运行 AI 模型和部署模型到 AX-Pi
|
||||
---
|
||||
|
||||
|
||||
## 使用现成的模型
|
||||
|
||||
到 [MaixHub 模型库](https://maixhub.com/model/zoo) 找到你需要的模型,可以在过滤选项中选择`AX-Pi 平台`来查找能在`AX-Pi`上运行的模型。
|
||||
然后下载并拷贝到开发板使用,模型详情页面会介绍如何使用模型。
|
||||
|
||||
## 将你的模型转换为在 AX-Pi 上可以使用的模型
|
||||
|
||||
使用模型训练框架(比如 Pytorch)训练好模型后,要在 `AX-Pi` 上运行,还需要将模型量化为`INT8`模型,以及转换成`AX-Pi`支持的模型格式。
|
||||
同时,也要注意`AX-Pi`的算子支持情况,在设计模型结构时就需要考虑到;
|
||||
另外,有些模型可能需要将后处理从模型中分离出来,在`AX-Pi`上单独使用代码实现后处理。
|
||||
详细的模型部署方法见[部署模型到 Maix-III(M3) 系列 AX-Pi 开发板](/ai/zh/deploy/ax-pi.html)
|
||||
|
||||
## 分享有趣的模型
|
||||
|
||||
部署成功后会有一份模型文件,以及一份能运行模型的代码,可以将这些文件分享到 [MaixHub 模型库](https://maixhub.com/model/zoo) ,大家一起交流学习!
|
||||
|
||||
35
docs/hardware/zh/maixIII/ax620a/sdk.md
Normal file
35
docs/hardware/zh/maixIII/ax620a/sdk.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Maix-III 系列 AX-Pi 开发板 SDK 使用介绍
|
||||
---
|
||||
|
||||
## SDK 和源码下载
|
||||
|
||||
SDK 源码在 [libmaix](https://github.com/sipeed/libmaix), 点击页面`Code` -> `Download ZIP` 下载, 或者使用 git 命令下载:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/sipeed/libmaix.git
|
||||
```
|
||||
|
||||
另外, AI 模型及例程在 [MaixHub 模型库](https://maixhub.com/model/zoo) 可以找到, 以及 [AXERA-TECH/ax-samples](https://github.com/AXERA-TECH/ax-samples) 仓库。
|
||||
|
||||
|
||||
## 编译 SDK
|
||||
|
||||
对于 `libmaix`, 按照其`README.md` 文件描述的方法编译即可, 不过需要在`menuconfig`命令中选择 `AX-Pi` 作为编译目标。
|
||||
|
||||
这里简要介绍一下编译过程:
|
||||
|
||||
TODO:
|
||||
|
||||
## 组合 SDK 和 AI 模型例程
|
||||
|
||||
比如我们要跑一个视觉 AI 模型,需要用到摄像头,屏幕,还有 AI 模型。
|
||||
其中 摄像头和屏幕的使用在`libmaix`中已经有例程,可以直接使用,基于摄像头屏幕使用例程,将 AI 模型的例程拷贝到例程目录中,调整一下 API 调用即可。
|
||||
|
||||
举例:
|
||||
|
||||
TODO:
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -161,6 +161,14 @@
|
||||
{
|
||||
"label": "基础使用",
|
||||
"file": "maixIII/ax620a/usages.md"
|
||||
},
|
||||
{
|
||||
"label": "SDK 使用",
|
||||
"file": "maixIII/ax620a/sdk.md"
|
||||
},
|
||||
{
|
||||
"label": "AI 模型相关",
|
||||
"file": "maixIII/ax620a/ai.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
title: 部署模型到边缘设备方法汇总
|
||||
title: 制作可部署到边缘设备的模型和部署方法汇总
|
||||
keywords: 模型部署, 模型转换, 模型部署边缘设备
|
||||
desc: 汇总如何部署模型到边缘设备的相关文档,边缘设备包含单片机、SBC、SOC、NPU等。
|
||||
date: 2022-09-21
|
||||
date: false
|
||||
class: heading_no_counter
|
||||
---
|
||||
|
||||
@@ -54,7 +54,7 @@ class: heading_no_counter
|
||||
<h2>Maix-III 系列 AX-Pi</h2>
|
||||
<div class="brief">
|
||||
<div>高算力、独特 AI-ISP 影像系统</div>
|
||||
<div>最高 3.6Tops@INT8,算子支持较多</div>
|
||||
<div>最高 3.6Tops@INT8,丰富算子支持</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,11 +3,47 @@ title: 部署模型到 Maix-III(M3) 系列 AX-Pi 开发板
|
||||
date: 2022-09-21
|
||||
---
|
||||
|
||||
<div id="title_card">
|
||||
<div class="card" style="background-color: #fafbfe">
|
||||
<img src="../../assets/maix-iii-small.png" alt="AX-Pi 模型转换和部署">
|
||||
<div class="card_info card_purple">
|
||||
<div class="title">Maix-III 系列之 AX-Pi(爱芯派)</div>
|
||||
<div class="brief">
|
||||
<div>高算力、独特 AI-ISP 影像系统</div>
|
||||
<div>最高 3.6Tops@INT8,丰富算子支持</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
#title_card {
|
||||
width:100%;
|
||||
text-align:center;
|
||||
background-color: #fafbfe;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
#title_card img {
|
||||
max-height: 20em;
|
||||
}
|
||||
.card_purple {
|
||||
background-color: #d1c4e9;
|
||||
color: #673ab7;
|
||||
}
|
||||
.dark .card_purple {
|
||||
background-color: #370040;
|
||||
color: #ffffffba;
|
||||
}
|
||||
.title {
|
||||
font-size: 1.5em;
|
||||
font-weight: 800;
|
||||
}
|
||||
</style>
|
||||
|
||||
> 有任何想法或者修改建议,欢迎留言或者直接点击右上角`编辑本页`进行修改后提交 PR
|
||||
|
||||
> [MaixHub](https://maixhub.com/model/zoo) 模型库有 AX-Pi 能直接运行的模型,可以直接下载使用,也欢迎上传分享你的模型~
|
||||
|
||||
要部署模型到 Maix-III(M3) 系列 AX-Pi 开发板,需要将模型量化到 INT8,减小模型大小的同时提高运行速度,一般采用 `PTQ`(训练后量化)的方式量化模型,步骤:
|
||||
要部署模型到 [Maix-III(M3) 系列 AX-Pi 开发板](/hardware/zh/maixIII/index.html),需要将模型量化到 INT8,减小模型大小的同时提高运行速度,一般采用 `PTQ`(训练后量化)的方式量化模型,步骤:
|
||||
* 准备好浮点模型。
|
||||
* 用模型量化和格式转换工具转换成 AX-Pi 支持的格式,这里工具使用爱芯官方提供的 [superpulsar](https://superpulsar-docs.readthedocs.io) 。
|
||||
* 在 AX-Pi 上运行模型。
|
||||
@@ -22,20 +58,46 @@ date: 2022-09-21
|
||||
|
||||
## 模型量化和格式转换
|
||||
|
||||
* 安装`docker`,[安装教程](https://docs.docker.com/engine/install/)。
|
||||
### 安装`docker`
|
||||
|
||||
* 下载转换工具, 转换工具是以 docker 镜像的方式提供的,下载后用 docker 加载镜像即可。
|
||||
[安装教程](https://docs.docker.com/engine/install/)
|
||||
|
||||
安装好后查看
|
||||
```
|
||||
docker --version
|
||||
```
|
||||
|
||||
`Linux`下添加当前用户到 `docker`组,这样就不需要使用 `sudo` 运行`docker`命令了。可以用以下命令来添加:
|
||||
```shell
|
||||
sudo gpasswd -a $USER docker
|
||||
newgrp docker
|
||||
```
|
||||
|
||||
### 下载转换工具
|
||||
|
||||
转换工具是以 docker 镜像的方式提供的,下载后用 docker 加载镜像即可。
|
||||
直接使用 `docker`命令下载镜像或者先下载镜像文件解压成 `tar` 文件,再加载镜像:
|
||||
|
||||
| 下载站点 | 下载链接 | 使用方法 |
|
||||
| 下载站点 | 简介 | 使用方法 |
|
||||
| :--- | :--- | :--- |
|
||||
| dockerhub | 执行命令在线下载 | `docker pull sipeed/superpulsar:latest` |
|
||||
| daocloud | 国内推荐 | `docker pull daocloud.io/sipeed/superpulsar:latest` |
|
||||
| 迅雷云盘 | TODO: | 解压出 `tar`,再 `docker load -i superpulsar.tar` |
|
||||
| 百度云盘 | TODO: | 解压出 `tar`,再 `docker load -i superpulsar.tar` |
|
||||
| dl.sipeed.com | TODO: | 解压出 `tar`,再 `docker load -i superpulsar.tar` |
|
||||
| [dockerhub](https://hub.docker.com/r/sipeed/superpulsar/tags) | 执行命令即可在线下载 | `docker pull sipeed/superpulsar` |
|
||||
| dockerhub 国内镜像 | 中国国内下载加速 | 1. 编辑`/etc/docker/daemon.json`添加`"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],`(也可以用其它镜像比如[阿里云](https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors))<br>2. `docker pull daocloud.io/sipeed/superpulsar:latest` |
|
||||
|
||||
* 然后看 [superpulsar](https://superpulsar-docs.readthedocs.io) 文档中的转换命令以及配置文件方法进行模型量化和格式转换。
|
||||
> 注意这里镜像名叫 `sipeed/superpulsar`, 在文档里面有些地方可能是 `axera/neuwizard`,是等效的,只是名字不同
|
||||
|
||||
然后创建容器:
|
||||
```shell
|
||||
docker run -it --net host --rm --shm-size 32g -v $PWD:/data sipeed/superpulsar
|
||||
```
|
||||
> * 这里`--shm-size`共享内run大小根据你的电脑内存大小设置。
|
||||
> * 不用`--rm`会保留容器,建议加个`-name xxx`来命名容器,下次通过`docker start xxx && docker attach xxx`进入容器
|
||||
> * `-v 宿主机路径:/data`是把宿主机的目录挂载到容器的`/data`目录,这样就可以在容器里面直接操作宿主机的文件了。
|
||||
|
||||
创建容器后会自动进入容器,使用`pulsar -h`命令可以看到相关命令。
|
||||
|
||||
### 进行模型量化和转换
|
||||
|
||||
然后看 [superpulsar](https://superpulsar-docs.readthedocs.io) 文档中的转换命令以及配置文件方法进行模型量化和格式转换。
|
||||
> 注意 `AX-Pi` 使用了虚拟 NPU 的概念来划分算力,以将实现全部算力给 NPU 或者 NPU 和 AI-ISP 各分一半。
|
||||
|
||||
## 在 AX-Pi 上运行模型
|
||||
|
||||
@@ -3,6 +3,41 @@ title: 部署模型到 Maix-I(M1) K210 系列开发板
|
||||
date: 2022-09-15
|
||||
---
|
||||
|
||||
<div id="title_card">
|
||||
<div class="card">
|
||||
<img src="/hardware/zh/maix/assets/dk_board/maix_duino/maixduino_0.png" alt="K210 模型转换和部署">
|
||||
<div class="card_info card_red">
|
||||
<div class="title">Maix-I 系列 K210</div>
|
||||
<div class="brief">
|
||||
<div>高性价比带硬件 AI 加速的单片机</div>
|
||||
<div>1Tops@INT8,有限算子加速</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
#title_card {
|
||||
width:100%;
|
||||
text-align:center;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
#title_card img {
|
||||
max-height: 20em;
|
||||
}
|
||||
.card_red {
|
||||
background-color: #ffcdd2;
|
||||
color: #cf4f5a;
|
||||
}
|
||||
.dark .card_red {
|
||||
background-color: #5a0000;
|
||||
color: #ffffffba;
|
||||
}
|
||||
.title {
|
||||
font-size: 1.5em;
|
||||
font-weight: 800;
|
||||
}
|
||||
</style>
|
||||
|
||||
> 欢迎修改和补充
|
||||
|
||||
一般使用 `tensorflow` 训练出浮点模型, 再使用转换工具将其转换成 `K210` 所支持的 `Kmodel` 模型,然后将模型部署到 `K210` 开发板上。
|
||||
|
||||
@@ -3,6 +3,42 @@ title: 使用 TinyMaix 将模型部署到单片机
|
||||
date: 2022-09-15
|
||||
---
|
||||
|
||||
<div id="title_card">
|
||||
<div class="card" style="background-color: #fafbfe">
|
||||
<img src="../../assets/m0_small.png" alt="TinyMaix 模型转换和部署">
|
||||
<div class="card_info card_green">
|
||||
<div class="title">TinyMaix 平台</div>
|
||||
<div class="brief">
|
||||
<div>单片机通用,为各种指令集优化</div>
|
||||
<div>算力具体看硬件 CPU,有限算子加速</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
#title_card {
|
||||
width:100%;
|
||||
text-align:center;
|
||||
background-color: #fafbfe;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
#title_card img {
|
||||
max-height: 20em;
|
||||
}
|
||||
.card_green {
|
||||
background-color: #b2dfdb;
|
||||
color: #009688;
|
||||
}
|
||||
.dark .card_green {
|
||||
background-color: #004e03;
|
||||
color: #ffffffba;
|
||||
}
|
||||
.title {
|
||||
font-size: 1.5em;
|
||||
font-weight: 800;
|
||||
}
|
||||
</style>
|
||||
|
||||
[TinyMaix](https://github.com/sipeed/TinyMaix) 是针对小算力小内存的芯片设计的轻量级推理框架,甚至能在`2KB`内存的`Arduino ATmega328`单片机上运行`MNIST`,对各种架构的单片机都提供了支持和优化,包括 RISC-V、ARM Cortex-M 等。
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,41 @@ title: 将模型部署到 V831
|
||||
date: 2022-09-15
|
||||
---
|
||||
|
||||
<div id="title_card">
|
||||
<div class="card">
|
||||
<img src="/hardware/assets/maixII/m2dock.jpg" alt="V831 模型转换和部署">
|
||||
<div class="card_info card_blue">
|
||||
<div class="title">Maix-II 系列 v831</div>
|
||||
<div class="brief">
|
||||
<div>高性价比带硬件 AI 加速,支持 Linux</div>
|
||||
<div>0.2Tops@INT8,有限算子加速</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
#title_card {
|
||||
width:100%;
|
||||
text-align:center;
|
||||
background-color: white;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
#title_card img {
|
||||
max-height: 20em;
|
||||
}
|
||||
.card_blue {
|
||||
background-color: #90caf9;
|
||||
color: #105aa9;
|
||||
}
|
||||
.dark .card_blue {
|
||||
background-color: #003c6c;
|
||||
color: #ffffffba;
|
||||
}
|
||||
.title {
|
||||
font-size: 1.5em;
|
||||
font-weight: 800;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
## 制作浮点模型
|
||||
|
||||
@@ -4,6 +4,6 @@ title: 动态
|
||||
keywords: teedoc, 博客生成, 静态博客
|
||||
desc: teedoc 静态博客页面生成
|
||||
show_source: false
|
||||
date: true
|
||||
date: false
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user