mmdeploy环境部署流程

参考:mmdeploy/docs/zh_cn/01-how-to-build/linux-x86_64.md at main · open-mmlab/mmdeploy (github.com)

从零入门《openmmlab》mmdeploy[1]环境安装及简单上手_哔哩哔哩_bilibili

我的环境:

docker容器,ubuntu20.04,cuda11.7、四张3090显卡,默认以安装好PyTorch、mmcv等mmdetection需要的所有环境。

1、安装编译需要用到的库

apt update
apt install wget
apt-get install make

2、安装cuda

wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
sh cuda_11.7.0_515.43.04_linux.run

查看安装结果: 

3、查看编译工具版本

cmake -version
g++ -v

保证 cmake的版本 >= 3.14.0并且gcc 7+以上的版本,如果不是,按官方说明重装mmdeploy/docs/zh_cn/01-how-to-build/linux-x86_64.md at main · open-mmlab/mmdeploy (github.com)

4、安装 MMDeploy SDK 依赖

安装OpenCV

apt-get install libopencv-dev

安装pplcv

git clone https://github.com/openppl-public/ppl.cv.git
cd ppl.cv
export PPLCV_DIR=$(pwd)
git checkout tags/v0.7.0 -b v0.7.0
./build.sh cuda

5、安装TensorRT

下载tensorrt,下载地址https://developer.nvidia.com/nvidia-tensorrt-download

我使用的版本为:TensorRT-8.6.1.6,下载并解压TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz

 编译

pip install TensorRT-8.6.1.6/python/tensorrt-8.6.1-cp310-none-linux_x86_64.whl 
export TENSORRT_DIR=/root/TensorRT-8.6.1.6
export LD_LIBRARY_PATH=$TENSORRT_DIR/lib:$LD_LIBRARY_PATH
cd TensorRT-8.6.1.6
pip install pycuda

6、安装cudnn

下载地址:https://developer.nvidia.com/rdp/cudnn-archive

 我使用的版本为cuDNN v8.6.0,下载并解压cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz

tar -xf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz

解压后得到一个cudnn-linux-x86_64-8.6.0.163_cuda11-archive文件名,然后将其改为cudnn

设置环境变量

export CUDNN_DIR=/root/cudnn
export LD_LIBRARY_PATH=$CUDNN_DIR/lib:$LD_LIBRARY_PATH

7、下载mmdeploy并编译自定义算子

git clone https://github.com/open-mmlab/mmdeploy
cd mmdeploy/
git submodule update --init --recursive
export MMDEPLOY_DIR=$(pwd)

TensorRT 自定义算子

mkdir -p build
cmake -DCMAKE_CXX_COMPILER=g++-9 -DMMDEPLOY_TARGET_BACKENDS=trt -DTENSORRT_DIR=/root/TensorRT-8.6.1.6 -DCUDNN_DIR=/root/cudnn
make -j$(nproc) && make install

注意这里的g++-9一定要改成你g++的版本号

 8、编译 SDK 和 Demos

cd mmdeploy
pip install -e .
mkdir -p build
cmake . \
    -DCMAKE_CXX_COMPILER=g++-9 \
    -DMMDEPLOY_BUILD_SDK=ON \
    -DMMDEPLOY_BUILD_EXAMPLES=ON \
    -DMMDEPLOY_BUILD_SDK_PYTHON_API=ON \
    -DMMDEPLOY_TARGET_DEVICES="cuda;cpu" \
    -DMMDEPLOY_TARGET_BACKENDS=trt \
    -Dpplcv_DIR=${PPLCV_DIR}/cuda-build/install/lib/cmake/ppl \
    -DTENSORRT_DIR=${TENSORRT_DIR} \
    -DCUDNN_DIR=${CUDNN_DIR}

make -j$(nproc) && make install

9、模型转换

以yolox为例,先下载权重文件

wget https://download.openmmlab.com/mmdetection/v2.0/yolox/yolox_tiny_8x8_300e_coco/yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth
cd mmdeploy

python tools/deploy.py configs/mmdet/detection/detection_tensorrt_dynamic-320x320-1344x1344.py ../mmdetection3/configs/yolox/yolox_tiny_8xb8-300e_coco.py ../mmdetection3/workdir/yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth ../mmdetection3/demo/demo.jpg --work-dir yolox-tiny --device cuda --dump-info

10、推理

./bin/object_detection cuda yolox-tiny/ ../mmdetection3/demo/demo.jpg 

 推理成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值