MACE 模型库安装与使用教程
mace-modelsMobile AI Compute Engine Model Zoo项目地址:https://gitcode.com/gh_mirrors/ma/mace-models
1. 项目目录结构及介绍
MACE Models 是小米公司开源的一个模型库,它包含了预训练的深度学习模型,主要用于移动端的部署。以下是项目的基本目录结构:
mace-models/
├── README.md # 项目说明
├── models # 存放各种预训练模型
│ ├── imagenet # ImageNet 分类模型
│ ├── mobilenet_v1 # MobileNet V1 模型
│ ├── mobilenet_v2 # MobileNet V2 模型
│ └── ... # 其他模型
├── scripts # 脚本工具,用于模型转换等操作
└── workspace # 用于运行转换和验证的环境设置
├── build.sh # 构建脚本
└── config.mk # 构建配置文件
每个模型子目录通常包括模型的描述文件(.yml
),模型权重(.bin
或.pb
),以及可能的测试数据。
2. 项目的启动文件介绍
在 workspace
目录下,主要的启动文件是 build.sh
和 config.mk
。
build.sh
这个脚本负责编译 MACE 工具链,以将预训练的模型转换为可以在移动设备上运行的格式。执行以下命令来构建 MACE 库:
cd workspace
./build.sh -t [android|linux|ios] -a [cpu|gpu|hexagon]
这里, -t
参数指定目标平台,如 Android 或 Linux,-a
参数指定运行时架构,例如 CPU、GPU 或 Hexagon DSP。
config.mk
config.mk
文件是 Makefile 配置,你可以在这个文件中修改 C++ 编译器、优化级别等选项。例如,如果你想要改变编译的优化等级,可以找到并修改 OPT_LEVEL
变量。
3. 项目的配置文件介绍
MACE 使用 .yml
文件来配置模型转换参数。这些文件位于 models
目录下的每个模型子目录中,比如 mobilenet_v1.yml
。一个典型的 .yml
文件包含以下几个关键部分:
model
:模型的基本信息,如名称、输入输出节点名。inputs
: 模型的输入张量定义,包括形状和数据类型。outputs
: 模型的输出张量定义。subgraphs
: 对于复杂的模型,可以定义子图进行特定处理。runtime
: 设置运行时参数,如内存分配策略、硬件加速器等。
例如:
model:
name: MobilenetV1
input_nodes:
- input:0
output_nodes:
- global_pool:0
runtime:
target: cpu
opencl_cache_path: /data/local/tmp/opencl.cache
optimization:
fp16: false
int8: false
calibration_data_path: ""
要使用该配置转换模型,你需要调用 MACE 的 Python API,或者使用提供的命令行工具。
以上就是 MACE 模型库的基本结构、启动文件及配置文件的简介。通过这个教程,你应该能够开始探索并使用 MACE 在移动平台上部署深度学习模型。如需更详细的操作步骤,请参考项目文档:https://github.com/XiaoMi/mace/tree/master/docs 。
mace-modelsMobile AI Compute Engine Model Zoo项目地址:https://gitcode.com/gh_mirrors/ma/mace-models