내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
참조 문서: https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/tutorials/index.html
이 사례에서는 TVM 배포 모델을 사용하는 전체 프로세스를 소개합니다. 이 프로젝트는 TVM v0.14.0 브랜치를 기반으로 하며 현재 실험 단계에 있습니다. 추가 반복 유지 관리 계획은 없습니다. 현재 ESP-DL의 conv2d 연산자만 연결되어 있으며, 다른 연산자에서는 예외가 발생할 수 있습니다.
준비하다
ESP-DL은 ESP 시리즈 칩에 적용된 딥러닝 추론 프레임워크입니다. 이 라이브러리는 모델 훈련을 완료할 수 없습니다. 사용자는 TensorFlow, PyTorch 및 기타 훈련 플랫폼을 사용하여 모델을 훈련한 다음 ESP-DL을 통해 모델을 배포할 수 있습니다.
구체적인 과정은
먼저 tensorflowPyTorch와 같은 훈련된 모델을 변환합니다. TensorFlow 플랫폼을 예로 들면 스크립트에서 tf2onnx를 사용하여 훈련된 TensorFlow 모델을 ONNX 모델 형식으로 변환할 수 있습니다.
그런 다음 float32 모델에 대해 일련의 작업을 수행하여 정량화를 준비합니다.
그런 다음 양자화 도구를 사용하여 전처리된 float32 모델을 입력으로 받아들이고 int8 양자화 모델을 생성합니다.
2.1단계: 참가 준비
입력 이미지를 준비합니다. 입력 이미지 크기는 얻은 ONNX 모델 입력 크기와 일치해야 합니다. 모델 입력 크기는 Netron 도구를 통해 확인할 수 있습니다.
2.2단계: 배포 프로젝트 생성
TVM을 사용하면 입력에 따라 모델 추론을 실행하기 위한 프로젝트를 자동으로 생성할 수 있습니다.
3.1단계: 추론 실행
이전 단계에서 생성된 프로젝트 파일 new_project의 구조는 다음과 같습니다.
├── CMakeLists.txt
├── 구성요소
│ ├── 에스피디엘
│ └── tvm_모델
│ ├── CMakeLists.txt
│ ├── crt_config
│ └── 모델
├── 메인
│ ├── app_main.c
│ ├── 입력_데이터.h
│ ├── 출력_데이터.h
│ └── CMakeLists.txt
├── 파티션.csv
├── sdkconfig.defaults
├── sdkconfig.defaults.esp32
├── sdkconfig.defaults.esp32s2
├── sdkconfig.defaults.esp32s3
터미널 ESP-IDF(ESP-IDF 버전 참고) 환경을 구성한 후 프로젝트를 실행할 수 있습니다.
idf.py esp32s3 대상 설정
idf.py 플래시 모니터
3.2단계: 디버깅