docs/compile/other.md
MNN_BUILD_CONVERTER 是否编译模型转换工具MNN_BUILD_TORCH 是否支持TorchScript模型转换,MacOS下需要安装pytorch,Linux下会下载libtorchcmake .. -DMNN_BUILD_CONVERTER=ON -DMNN_BUILD_TORCH=ON
MNNConvert 模型转换工具TestConvertResult 模型转换正确性测试工具,Windows下没有此产物,用MNNConvert对应功能替代TestPassManager 模型转换工具测试用例MNNDump2Json 模型转换为JsonMNNRevert2Buffer Json转换为模型OnnxClip Onnx模型裁剪工具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.out winograd示例fuseTest 测试 GPU 自定义算子的功能,目前仅支持 Vulkan Buffer 模式GpuInterTest.out 测试 GPU 内存输入的功能,目前仅支持 OpenCL Buffer 模式与 OpenGL texture 模式,编译时需打开 MNN_OPENCL 与 MNN_OPENGLLoRA 将LorA权重添加到模型权重中compilefornpu 将Npu要运行的部分转换为Plugin算子MNN_BUILD_BENCHMARK 是否编译Benchmark工具mkdir build && cd build
cmake .. -DMNN_BUILD_BENCHMARK=ON
make -j4
benchmark.out benchmark工具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.so MNN OpenCV函数库opencv_test MNN OpenCV单元测试opencv_bench MNN 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.so MNN Audio函数库audio_test MNN Audio单元测试MNN_BUILD_DEMO 是否编译MNN Demomkdir build && cd build
cmake .. -DMNN_BUILD_DEMO=ON
make -j4
pictureRecognition.out V2接口(Session)图片识别示例pictureRecognition_module.out V3接口(Module)图片识别示例pictureRecognition_batch.out 自定义batchsize图片识别示例multithread_imgrecog.out 多线程图片识别示例pictureRotate.out 图片旋转示例multiPose.out 姿态检测示例segment.out 图像实例分割示例expressDemo.out 表达式接口推理示例expressMakeModel.out 使用表达式构建模型示例transformerDemo.out Transformer模型示例rasterDemo.out Raster示例nluDemo.out nlu模型示例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 单元测试程序