-
cmake
brew install cmake
-
clang
安装 Xcode 或者通过如下命令安装 Command Line Tools
xcode-select --install
参考get_started文档,安装conda。
# install pytoch & mmcv
conda install pytorch==1.9.0 torchvision==0.10.0 -c pytorch
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0rc2"
如果您只对模型转换感兴趣,那么可以跳过本章节。
名称 | 安装说明 |
---|---|
OpenCV (>=3.0) |
|
MMDeploy 的 Model Converter 和 SDK 共享推理引擎。您可以参考下文,选择自己感兴趣的推理引擎安装。这里重点介绍 Core ML。ONNX Runtime,ncnn 以及 TorchScript 的安装类似 linux 平台,可参考文档 linux-x86_64 进行安装。
Core ML 模型的转化过程中使用 TorchScript 模型作为IR,为了支持含有自定义算子的模型,如 mmdet 中的检测模型,需要安装 libtorch,这里作简单说明。
名称 | 安装包 | 安装说明 |
---|---|---|
Core ML | coremltools |
|
TorchScript | libtorch |
1. libtorch暂不提供arm版本的library,故需要自行编译。编译时注意libtorch要和pytorch的版本保持一致,这样编译出的自定义算子才可以加载成功。 2. 以libtorch 1.9.0为例,可通过如下命令安装:
|
cd /the/root/path/of/MMDeploy
export MMDEPLOY_DIR=$(pwd)
这里介绍使用 Core ML 作为推理后端所需的操作。
-
Core ML
Core ML使用 torchscript 作为IR,某些 codebase 如 mmdet 需要编译 torchscript 自定义算子。
-
torchscript 自定义算子
cd ${MMDEPLOY_DIR} mkdir -p build && cd build cmake -DMMDEPLOY_TARGET_BACKENDS=coreml -DTorch_DIR=${Torch_DIR} .. make -j4 && make install
参考 cmake 选项说明
# requirements/runtime.txt 中依赖项grpcio,通过pip安装的方式无法正常import, 需使用 conda 安装
conda install grpcio
cd ${MMDEPLOY_DIR}
mim install -v -e .
注意
- 有些依赖项是可选的。运行
pip install -e .
将进行最小化依赖安装。 如果需安装其他可选依赖项,请执行pip install -r requirements/optional.txt
, 或者pip install -e .[optional]
。其中,[optional]
可以替换为:all
、tests
、build
或optional
。
下文展示使用 Core ML 作为推理引擎,构建SDK的样例。
-
cpu + Core ML
cd ${MMDEPLOY_DIR} mkdir -p build && cd build cmake .. \ -DMMDEPLOY_BUILD_SDK=ON \ -DMMDEPLOY_BUILD_EXAMPLES=ON \ -DMMDEPLOY_BUILD_SDK_PYTHON_API=ON \ -DMMDEPLOY_TARGET_DEVICES=cpu \ -DMMDEPLOY_TARGET_BACKENDS=coreml \ -DTorch_DIR=${Torch_DIR} make -j4 && make install