Skip to content

Latest commit

 

History

History
177 lines (139 loc) · 4.47 KB

macos-arm64.md

File metadata and controls

177 lines (139 loc) · 4.47 KB

macOS-arm64 下构建方式

源码安装

安装构建和编译工具链

  • cmake

    brew install cmake
    
  • clang

    安装 Xcode 或者通过如下命令安装 Command Line Tools

    xcode-select --install
    

安装依赖包

安装 MMDeploy Converter 依赖

参考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"

安装 MMDeploy SDK 依赖

如果您只对模型转换感兴趣,那么可以跳过本章节。

名称 安装说明
OpenCV
(>=3.0)

brew install opencv

安装推理引擎

MMDeploy 的 Model Converter 和 SDK 共享推理引擎。您可以参考下文,选择自己感兴趣的推理引擎安装。这里重点介绍 Core ML。ONNX Runtime,ncnn 以及 TorchScript 的安装类似 linux 平台,可参考文档 linux-x86_64 进行安装。

Core ML 模型的转化过程中使用 TorchScript 模型作为IR,为了支持含有自定义算子的模型,如 mmdet 中的检测模型,需要安装 libtorch,这里作简单说明。

名称 安装包 安装说明
Core ML coremltools

pip install coremltools==6.3
TorchScript libtorch 1. libtorch暂不提供arm版本的library,故需要自行编译。编译时注意libtorch要和pytorch的版本保持一致,这样编译出的自定义算子才可以加载成功。
2. 以libtorch 1.9.0为例,可通过如下命令安装:

git clone -b v1.9.0 --recursive https://github.com/pytorch/pytorch.git
cd pytorch
mkdir build && cd build
cmake .. \
    -DCMAKE_BUILD_TYPE=Release \
    -DPYTHON_EXECUTABLE=`which python` \
    -DCMAKE_INSTALL_PREFIX=install \
    -DDISABLE_SVE=ON # low version like 1.9.0 of pytorch need DISABLE_SVE option
make -j4 && make install
export Torch_DIR=$(pwd)/install/share/cmake/Torch

编译 MMDeploy

cd /the/root/path/of/MMDeploy
export MMDEPLOY_DIR=$(pwd)

编译 Model Converter

这里介绍使用 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 选项说明

安装 Model Converter

# 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]可以替换为:alltestsbuildoptional

编译 SDK 和 Demos

下文展示使用 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