选项 | 取值范围 | 缺省值 | 说明 |
---|---|---|---|
MMDEPLOY_SHARED_LIBS | {ON, OFF} | ON | 动态库的编译开关。设置OFF时,编译静态库 |
MMDEPLOY_BUILD_SDK | {ON, OFF} | OFF | MMDeploy SDK 编译开关 |
MMDEPLOY_BUILD_SDK_MONOLITHIC | {ON, OFF} | OFF | 编译生成单个 lib 文件 |
MMDEPLOY_BUILD_TEST | {ON, OFF} | OFF | MMDeploy SDK 的单元测试程序编译开关 |
MMDEPLOY_BUILD_SDK_PYTHON_API | {ON, OFF} | OFF | SDK python package的编译开关 |
MMDEPLOY_BUILD_SDK_CXX_API | {ON, OFF} | OFF | SDK C++ package的编译开关 |
MMDEPLOY_BUILD_SDK_CSHARP_API | {ON, OFF} | OFF | SDK C# package的编译开关 |
MMDEPLOY_BUILD_SDK_JAVA_API | {ON, OFF} | OFF | SDK Java package的编译开关 |
MMDEPLOY_BUILD_EXAMPLES | {ON, OFF} | OFF | 是否编译 demo |
MMDEPLOY_SPDLOG_EXTERNAL | {ON, OFF} | OFF | 是否使用系统自带的 spdlog 安装包 |
MMDEPLOY_ZIP_MODEL | {ON, OFF} | OFF | 是否使用 zip 格式的 sdk 目录 |
MMDEPLOY_COVERAGE | {ON, OFF} | OFF | 额外增加编译选项,以生成代码覆盖率报表 |
MMDEPLOY_TARGET_DEVICES | {"cpu", "cuda"} | cpu | 设置目标设备。当有多个设备时,设备名称之间使用分号隔开。 比如,-DMMDEPLOY_TARGET_DEVICES="cpu;cuda" |
MMDEPLOY_TARGET_BACKENDS | {"trt", "ort", "pplnn", "ncnn", "openvino", "torchscript", "snpe", "coreml", "tvm"} | N/A | 默认情况下,SDK不设置任何后端, 因为它与应用场景高度相关。 当选择多个后端时, 中间使用分号隔开。比如,
1. trt: 表示 TensorRT。需要设置 TENSORRT_DIR 和 CUDNN_DIR 。
ONNXRUNTIME_DIR 。
pplnn_DIR 。4. ncnn:表示 ncnn。需要设置 ncnn_DIR 。 5. openvino: 表示 OpenVINO。需要设置 InferenceEngine_DIR 。6. torchscript: 表示 TorchScript。目前仅模型转换支持 torchscript 格式,SDK 尚未支持。 7. snpe: 表示 qcom snpe。需要环境变量设置 SNPE_ROOT。 8. coreml: 表示 Core ML。目前在进行模型转换时需要设置 Torch_DIR 。 9. tvm: 表示 TVM。需要设置 TVM_DIR 。 |
MMDEPLOY_CODEBASES | {"mmcls", "mmdet", "mmseg", "mmedit", "mmocr", "all"} | all | 用来设置SDK后处理组件,加载 OpenMMLab 算法仓库的后处理功能。如果选择多个 codebase,中间使用分号隔开。比如,-DMMDEPLOY_CODEBASES="mmcls;mmdet" 。也可以通过 -DMMDEPLOY_CODEBASES=all 方式,加载所有 codebase。 |