-
Notifications
You must be signed in to change notification settings - Fork 2.1k
other
wangzhaode edited this page Dec 19, 2025
·
9 revisions
- 相关编译选项
-
MNN_BUILD_CONVERTER是否编译模型转换工具 -
MNN_BUILD_TORCH是否支持TorchScript模型转换,MacOS下需要安装pytorch,Linux下会下载libtorch
-
- 编译命令
cmake .. -DMNN_BUILD_CONVERTER=ON -DMNN_BUILD_TORCH=ON
- 编译产物
-
MNNConvert模型转换工具 -
TestConvertResult模型转换正确性测试工具,Windows下没有此产物,用MNNConvert对应功能替代 -
TestPassManager模型转换工具测试用例 -
MNNDump2Json模型转换为Json -
MNNRevert2BufferJson转换为模型 -
OnnxClipOnnx模型裁剪工具
-
- 相关编译选项
-
MNN_QNN_CONVERT_MODE在打开MNN_QNN宏前提下,是否编译成mnn模型转为QNN模型的功能库
-
- 编译命令
cmake .. -DMNN_QNN=ON -DMNN_QNN_CONVERT_MODE=ON
- 编译产物
-
MNN2QNNModel模型转换工具
-
- 相关编译选项
-
MNN_BUILD_TRAIN是否编译训练框架 -
MNN_BUILD_TRAIN_MINI对于移动端/嵌入式设备,建议设置MNN_BUILD_TRAIN_MINI=ON,不编译内置的Dataset,Models,这部分在移动端/嵌入式设备上一般有其他解决方案 -
MNN_USE_OPENCV部分PC上的demo有用到,与Dataset处理相关
-
- 编译命令
mkdir build && cd build cmake .. -DMNN_BUILD_TRAIN=ON -DMNN_USE_OPENCV=ON make -j4
- 编译产物
-
MNNTrain训练框架库 -
runTrainDemo.out运行训练框架demo的入口程序 -
transformer训练模型转换器,将推理用的MNN模型转换为执行训练的MNN模型 -
extractForInfer从执行训练的MNN模型中提取参数,对应更新推理用的MNN模型
-
- 相关编译选项
-
MNN_BUILD_DIFFUSION是否编译扩散模型推理示例 -
MNN_BUILD_LLM是否编译大语言模型推理引擎 -
MNN_SUPPORT_TRANSFORMER_FUSE是否支持transformer相关的融合算子,主要加速transformer模型
-
- 编译命令
- 编译扩散模型推理示例
mkdir build && cd build cmake .. -DMNN_BUILD_OPENCV=ON -DMNN_IMGCODECS=ON -DMNN_BUILD_DIFFUSION=ON -DMNN_SUPPORT_TRANSFORMER_FUSE=ON make -j4
- 编译大语言模型推理引擎
mkdir build && cd build cmake .. -DMNN_BUILD_LLM=ON -DMNN_SUPPORT_TRANSFORMER_FUSE=ON make -j4
- 编译扩散模型推理示例
- 编译产物
-
libllm.so大语言模型推理库 -
llm_demo大语言模型推理示例程序 -
diffusion_demo扩散模型示例程序 -
llm_bench大语言模型测评工具 -
rollback_demo大语言模型kvcache回调示例工具 -
quantize_llm大语言模型feature map量化工具
-
- 相关编译选项
-
MNN_BUILD_TOOLS是否编译测试工具
-
- 编译命令
mkdir build && cd build cmake .. -DMNN_BUILD_TOOLS=ON make -j4
- 编译产物
-
GetMNNInfo获取MNN模型信息 -
ModuleBasic.out使用V3 API对模型执行基础推理测试 -
SequenceModuleTest.out测试Sequence模型推理 -
MNNV2Basic.out使用V2 API对模型执行基础推理测试 -
mobilenetTest.out测试mobilenet模型推理 -
backendTest.out测试模型在指定后端上执行的结果是否与CPU一致 -
modelCompare.out原始模型与量化模型推理结果比较 -
testModel.out给定输入输出测试模型推理正确性 -
testModel_expr.out给定输入输出测试模型推理正确性 -
testModelWithDescribe.out给定输入输出和shape描述测试模型推理正确性 -
getPerformance.out获取当前设备的CPU性能 -
checkInvalidValue.out检测输出目录里的数据 -
timeProfile.out测试模型在指定后端上执行的时间,并获取每层的执行时间占比 -
testTrain.out测试训练功能 -
checkDir.out测试两个文件夹是否一致 -
checkFile.out测试两个文件是否一致 -
winogradExample.outwinograd示例 -
fuseTest测试 GPU 自定义算子的功能,目前仅支持 Vulkan Buffer 模式 -
GpuInterTest.out测试 GPU 内存输入的功能,目前仅支持 OpenCL Buffer 模式与 OpenGL texture 模式,编译时需打开 MNN_OPENCL 与 MNN_OPENGL -
LoRA将LorA权重添加到模型权重中 -
compilefornpu将Npu要运行的部分转换为Plugin算子
-
- 相关编译选项
-
MNN_BUILD_BENCHMARK是否编译Benchmark工具
-
- 编译命令
mkdir build && cd build cmake .. -DMNN_BUILD_BENCHMARK=ON make -j4
- 编译产物
-
benchmark.outbenchmark工具 -
benchmarkExprModels.out表达式构图模型测试benchmark工具
-
- 相关编译选项
-
MNN_BUILD_QUANTOOLS是否编译模型量化工具
-
- 编译命令
mkdir build && cd build cmake .. -DMNN_BUILD_QUANTOOLS=ON make -j4
- 编译产物
-
quantized.out模型量化工具
-
- 相关编译选项
-
MNN_EVALUATION是否编译图片分类结果评估工具
-
- 编译命令
mkdir build && cd build cmake .. -DMNN_EVALUATION=ON make -j4
- 编译产物
-
classficationTopkEval.out图片分类结果评估工具
-
- 相关编译选项
-
MNN_BUILD_OPENCV是否编译OpenCV函数接口 -
MNN_IMGCODECS是否编译OpenCV图像编解码器 -
MNN_OPENCV_TEST是否编译OpenCV单元测试 -
MNN_OPENCV_BENCH是否编译OpenCV性能测试
-
- 编译命令
mkdir build && cd build cmake .. -DMNN_BUILD_OPENCV=ON -DMNN_IMGCODECS=ON -DMNN_OPENCV_TEST=ON -DMNN_OPENCV_BENCH=ON make -j4
- 编译产物
-
libMNNOpenCV.soMNN OpenCV函数库 -
opencv_testMNN OpenCV单元测试 -
opencv_benchMNN OpenCV性能测试
-
- 相关编译选项
-
MNN_BUILD_AUDIO是否编译Audio函数接口 -
MNN_AUDIO_TEST是否编译Audio单元测试
-
- 编译命令
mkdir build && cd build cmake .. -MNN_BUILD_AUDIO=ON -MNN_AUDIO_TEST=ON make -j4
- 编译产物
-
libMNNAudio.soMNN Audio函数库 -
audio_testMNN Audio单元测试
-
- 相关编译选项
-
MNN_BUILD_DEMO是否编译MNN Demo
-
- 编译命令
mkdir build && cd build cmake .. -DMNN_BUILD_DEMO=ON make -j4
- 编译产物
-
pictureRecognition.outV2接口(Session)图片识别示例 -
pictureRecognition_module.outV3接口(Module)图片识别示例 -
pictureRecognition_batch.out自定义batchsize图片识别示例 -
multithread_imgrecog.out多线程图片识别示例 -
pictureRotate.out图片旋转示例 -
multiPose.out姿态检测示例 -
segment.out图像实例分割示例 -
expressDemo.out表达式接口推理示例 -
expressMakeModel.out使用表达式构建模型示例 -
transformerDemo.outTransformer模型示例 -
rasterDemo.outRaster示例 -
nluDemo.outnlu模型示例 -
mergeInplaceForCPU将模型中可以Inplace计算的算子改成Inplace计算,可以减少内存占用,但限定CPU后端运行 -
OpenCLProgramBuildTest.out测试OpenCL后端的Program在设备上是否能编译成功
-
- 相关编译选项
-
MNN_BUILD_TEST是否编译MNN单元测试
-
- 编译命令
mkdir build && cd build cmake .. -DMNN_BUILD_TEST=ON make -j4
- 编译产物
-
run_test.out单元测试程序
-