MMDeploy sdk安装(ncnn)

参考:mmpose/projects/rtmpose at main · open-mmlab/mmpose · GitHub

一、安装构建和编译工具链

  • cmake

        保证 cmake的版本 >= 3.14.0。如果不是,可以参考以下命令安装 3.20.0 版本。

wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0-linux-x86_64.tar.gz
tar -xzvf cmake-3.20.0-linux-x86_64.tar.gz
sudo ln -sf $(pwd)/cmake-3.20.0-linux-x86_64/bin/* /usr/bin/
  • GCC 7+

         MMDeploy SDK 使用了 C++17 特性,因此需要安装gcc 7+以上的版本。

# 如果 Ubuntu 版本 < 18.04,需要加入仓库
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7
sudo apt-get install g++-7

二、安装 MMDeploy SDK 依赖

  • opencv

        在 Ubuntu 18.04 及以上版本。OpenCV(>=3.0)。


sudo apt-get install libopencv-dev

        在 Ubuntu 16.04 中,需要源码安装 OpenCV。 可以参考我之前的博客。顺便把ncnn装了。

Ubuntu16.04安装NCNN和Opencv

三、安装推理引擎(ncnn)

        MMDeploy 的 Model Converter 和 SDK 共享推理引擎。可以选择自己感兴趣的推理引擎安装。我选择ncnn平台。pwd如我的是/home/hhzdh-linux/ncnn。具体如何安装ncnn也可参考我之前的博客。

cd ncnn
export NCNN_DIR=$(pwd)

Ubuntu16.04安装NCNN和Opencv

四、编译MMDeploy

        需要科学上网,不然会很慢。

git clone https://github.com/open-mmlab/mmdeploy.git
cd mmdeploy
git submodule update --init --recursive

        编译 Model Converter,如我选择了ncnn 推理后端,需要编译对应的自定义算子库。编译可能会碰到报错 undefined reference to __atomic_fetch_add_8,需要添加 cmake 选项 

# 记得sudo
cd ${MMDEPLOY_DIR}
mkdir -p build && cd build
cmake -DCMAKE_CXX_COMPILER=g++-7 -DMMDEPLOY_TARGET_BACKENDS=ncnn -Dncnn_DIR=${NCNN_DIR}/build/install/lib/cmake/ncnn 
make -j$(nproc) && make install
cmake -DCMAKE_CXX_COMPILER=g++-7 -DMMDEPLOY_TARGET_BACKENDS=ncnn -Dncnn_DIR=${NCNN_DIR}/build/install/lib/cmake/ncnn -DCMAKE_CXX_FLAGS=-latomic

        至此mmdeploy sdk(ncnn)安装完成。

五、sdk使用

        在cmakelist需要添加如下:

set(CMAKE_PREFIX_PATH ../Downloads/ncnn/build/install ../Downloads/mmdeploy/build/install)
find_package(MMDeploy REQUIRED)

target_link_libraries(${name} PRIVATE mmdeploy ${OpenCV_LIBS})

        具体使用可以参考:MMDeploy SDK使用记录(ncnn)_HHzdh的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_44855366/article/details/131301945
今日推荐