18集 学习ESP32的ESP-DL深度学习教程-《MCU嵌入式AI开发笔记》

18集 学习ESP32的ESP-DL深度学习教程-《MCU嵌入式AI开发笔记》

参考文档:https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/tutorials/index.html
在这里插入图片描述

使用TVM自动生成模型部署项目

本案例介绍了使用 TVM 部署模型的完整流程。 该项目基于 TVM v0.14.0 分支,处于试验状态,暂时没有进一步迭代维护的计划。目前仅对接了 ESP-DL 的 conv2d 算子,其它算子可能会引发异常。

准备
ESP-DL 是适配 ESP 系列芯片的深度学习推理框架。本库无法完成模型的训练,用户可使用 TensorFlow,PyTorch 等训练平台来训练模型,然后再通过 ESP-DL 部署模型。
具体过程是

步骤1 量化

首先将tensorflowPyTorch等训练好的模型进行转化,以 TensorFlow 平台为例,您可在脚本中使用 tf2onnx 将训练好的 TensorFlow 模型转换成 ONNX 模型格式。
之后将会对 float32 模型进行一系列操作,以便为量化做好准备。
之后用量化工具接受预处理后的 float32 模型作为输入,并生成一个 int8 量化模型。

步骤 2:部署模型

步骤 2.1:准备输入
准备一张输入图像,输入的图像大小应该与得到的 ONNX 模型输入大小一致。模型输入大小可通过 Netron 工具查看。

步骤 2.2:部署项目生成
使用 TVM 自动生成一个项目,用来运行给定输入的模型推理。

步骤 3:运行模型

步骤 3.1:运行推理
上一步生成的工程文件 new_project 结构如下:

├── CMakeLists.txt
├── components
│ ├── esp-dl
│ └── tvm_model
│ ├── CMakeLists.txt
│ ├── crt_config
│ └── model
├── main
│ ├── app_main.c
│ ├── input_data.h
│ ├── output_data.h
│ └── CMakeLists.txt
├── partitions.csv
├── sdkconfig.defaults
├── sdkconfig.defaults.esp32
├── sdkconfig.defaults.esp32s2
├── sdkconfig.defaults.esp32s3
配置好终端 ESP-IDF(请注意 ESP-IDF 的版本)环境后,即可运行项目:

idf.py set-target esp32s3
idf.py flash monitor
步骤 3.2:调试

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 07:26:03       101 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 07:26:03       108 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 07:26:03       91 阅读
  4. Python语言-面向对象

    2024-07-11 07:26:03       98 阅读

热门阅读

  1. Django 视图 - FBV 与 CBV

    2024-07-11 07:26:03       24 阅读
  2. Qt编程技巧小知识点(1)TCP缓存区数据读取

    2024-07-11 07:26:03       24 阅读
  3. uniapp小程序连接蓝牙设备

    2024-07-11 07:26:03       21 阅读
  4. 富格林:可信技巧隔绝遭遇欺诈

    2024-07-11 07:26:03       22 阅读
  5. WPF-控件样式设置

    2024-07-11 07:26:03       28 阅读
  6. C# —— BufferedStream的

    2024-07-11 07:26:03       24 阅读
  7. 如何理解李彦宏说的“不要卷模型,要卷应用”

    2024-07-11 07:26:03       27 阅读
  8. 第一节 SHELL脚本中的常用命令(2)

    2024-07-11 07:26:03       24 阅读