Shortcuts

cmake 编译选项说明

选项 取值范围 缺省值 说明
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"} N/A 默认情况下,SDK不设置任何后端, 因为它与应用场景高度相关。 当选择多个后端时, 中间使用分号隔开。比如,
-DMMDEPLOY_TARGET_BACKENDS="trt;ort;pplnn;ncnn;openvino"
构建时,几乎每个后端,都需设置一些路径变量,用来查找依赖包。
1. trt: 表示 TensorRT。需要设置 TENSORRT_DIRCUDNN_DIR

-DTENSORRT_DIR=$env:TENSORRT_DIR
-DCUDNN_DIR=$env:CUDNN_DIR
2. ort: 表示 ONNXRuntime。需要设置 ONNXRUNTIME_DIR
-DONNXRUNTIME_DIR=$env:ONNXRUNTIME_DIR
3. pplnn: 表示 PPL.NN。需要设置 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
MMDEPLOY_CODEBASES {"mmcls", "mmdet", "mmseg", "mmedit", "mmocr", "all"} all 用来设置SDK后处理组件,加载 OpenMMLab 算法仓库的后处理功能。如果选择多个 codebase,中间使用分号隔开。比如,-DMMDEPLOY_CODEBASES="mmcls;mmdet"。也可以通过 -DMMDEPLOY_CODEBASES=all 方式,加载所有 codebase。
Read the Docs v: latest
Versions
latest
stable
dev-1.x
Downloads
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.