NN 规范
2024-12-21
======
神经网络模型文件
每个 AI 模型都使用 .mud
文件进行描述,这是一种 INI 格式的文件。
MUD(Model Universal Description,模型通用描述)文件是一种简单的模型描述格式。
创建这个文件的原因在于,各种硬件平台的模型格式不同,无法直接加载,我们需要编写多种不同的代码来加载模型。而现在使用 MUD 文件,只需在其中写入模型信息,即可简化模型加载过程。
MUD 文件定义如下:
[basic]
type = cvimodel
model = model_path_relative_to_mud_file
[extra]
model_type = classifier
input_type = bgr
mean = 103.94, 116.78, 123.68
scale = 0.017, 0.017, 0.017
labels = labels.txt
basic
部分是必需的,extra
部分是可选的。
basic
部分描述了模型的类型和模型路径。type
表示模型类型,目前支持MaixCam
的cvimodel
类型。model
表示模型的相对路径,相对于 MUD 文件所在位置。
extra
部分描述了模型的额外信息,应用程序可以通过model.extra_info()
方法获取。model_type
表示模型的功能类型,如classifier
(分类器)和yolov2
(目标检测),此项为可选。input_type
表示模型的输入类型,如bgr
和gray
(灰度图),此项为可选。mean
表示模型输入的均值,此项为可选。scale
表示模型输入的缩放比例,此项为可选。labels
表示模型标签文件的路径,此项为可选。
当前 MaixCDK 支持的模型类型:
classifier
classifier_no_top
yolo11
yolov8
yolov5
pp_ocr
retinaface
nanotrack
face_detector
speech
- 以及更多类型,详情请参考 components/nn/include 源代码,并搜索
model_type
关键字查看load
方法。