conda虚拟环境安装配置mmdeploy

1、准备工具编译链

1.1: cmake>=3.14
	sudo apt-get install -y libssl-dev 
	wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz 
	tar -zxvf cmake-3.20.0.tar.gz 
	cd cmake-3.20.0 
	sudo ln -sf $(pwd)/cmake-3.20.0-linux-x86_64/bin/* /usr/bin/
1.2 :gcc>=7
• 当 ubuntu >= 18.04, 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

2、创建激活 conda 环境及依赖安装

conda create -n mmdeploy python=3.8.0
conda activate mmdeploy 
2.1 torch
	示例环境中 cuda 版本是11.1。如果你的 cuda 版本不是11.1,一定要参考 pytorch 官网,选择合适的安装包
	pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html
2.2 cmake
	pip install cmake
2.3 mmcv-full
	pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.10.0/index.html
	也可以根据自己的torch版本安装:
	如:(pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/${cu_version}/${torch_version}/index.html )
2.4 opencv
	conda install opencv
2.5 onnxruntime
	pip install onnxruntime==1.8.1

3、mmdeploy SDK依赖库

3.1 安装 Spdlog
	1. 如果 ubuntu >= 18.04,
	sudo apt-get install libspdlog-dev 
	2. ubuntu 16.04,
	wget http://archive.ubuntu.com/ubuntu/pool/universe/s/spdlog/libspdlog-dev_0.16.3-1_amd64.deb 
	sudo dpkg -i libspdlog-dev_0.16.3-1_amd64.deb 
3.2 Opencv
	需要安装 v3+ 以上的版本
	如果 ubuntu >= 18.04,
	sudo apt-get install libopencv-dev 
	如果 ubuntu == 16.04,
	需要从源码安装,参考: https://docs.opencv.org/3.4/d2/de6/tutorial_py_setup_in_ubuntu.html

4、安装推理引擎

4.1 onnxruntime(>=1.8.1)	
	1. 安装 onnxruntime 的 python 包
		pip install onnxruntime==1.8.1
	2. 下载 onnxruntime 的预编译包。参考如下命令,解压压缩包并设置环境变量
	wget https://github.com/microsoft/onnxruntime/releases/download/v1.8.1/onnxruntime-linux-x64-1.8.1.tgz
	tar -zxvf onnxruntime-linux-x64-1.8.1.tgz
	cd onnxruntime-linux-x64-1.8.1
	export ONNXRUNTIME_DIR=$(pwd)
	export LD_LIBRARY_PATH=$ONNXRUNTIME_DIR/lib:$LD_LIBRARY_PATH
4.2 TensorRT
	1. TensorRT tar 包。要保证它和您机器的 CPU 架构以及 CUDA 版本是匹配的。
	2. 这里是 Linux x86_64 和 CUDA 11.x 下的安装示例,供您参考。
		tar -zxvf TensorRT-8.2.3.0.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz
		pip install TensorRT-8.2.3.0/python/tensorrt-8.2.3.0-cp38-none-linux_x86_64.whl
		export TENSORRT_DIR=$(pwd)/TensorRT-8.2.3.0
		export LD_LIBRARY_PATH=$TENSORRT_DIR/lib:$LD_LIBRARY_PATH
4.3 cuDNN	
	1. 从 cuDNN Archive 选择和您环境中 CPU 架构、CUDA 版本以及 TensorRT 版本配套的 cuDNN。以前文 TensorRT 安装说明为例,它需要 cudnn8.2。因此,可以下载 CUDA 11.x cuDNN 8.2
	2. 解压压缩包,并设置环境变量
	
	cd /the/path/of/cudnn/tgz/file
	tar -zxvf cudnn-11.3-linux-x64-v8.2.1.32.tgz
	export CUDNN_DIR=$(pwd)/cuda
	export LD_LIBRARY_PATH=$CUDNN_DIR/lib64:$LD_LIBRARY_PATH

5、编译安装mmdeploy

1.下载 MMDeploy,设置 MMDeploy目录为当前环境变量
	git clone -b master git@github.com:open-mmlab/mmdeploy.git 
	cd mmdeploy 
	git submodule update --init --recursive 
	mkdir -p build && cd build
	cmake -DMMDEPLOY_TARGET_BACKENDS='ort;trt' ..
	make -j$(nproc) && cd ..
	pip install -e .

6、编译SDK

6.1 ppl.cv
	git clone https://github.com/openppl-public/ppl.cv.git 
	cd ppl.cv 
	git checkout tags/v0.6.2 -b v0.6.2 
	./build.sh cuda 
6.2 cpu+cuda+onncruntime+tensorrt
	rm -rf build/CM* build/cmake-install.cmake build/Makefile build/csrc
	mkdir -p build && cd build 
	cmake .. \
		 -DCMAKE_CXX_COMPILER=g++ \
		 -DMMDEPLOY_BUILD_SDK=ON \
		 -DMMDEPLOY_TARGET_DEVICES="cpu;cuda" \
		 -DMMDEPLOY_TARGET_BACKENDS="ort,trt" \ 
		 -DMMDEPLOY_CODEBASES=all \ 
		 -DMMDEPLOY_BUILD_SDK_PYTHON_API=ON \ 
		 -Dpplcv_DIR=/tmp/ppl.cv/cuda-build/install/lib/cmake/ppl \ 
		 -DTENSORRT_DIR=${TENSORRT_DIR} \
		 -DONNXRUNTIME_DIR=${ONNXRUNTIME_DIR}
	make -j$(nproc) && make install 
	export LD_LIBRARY_PATH=${MMDEPLOY_DIR}/build/lib:${LD_LIBRARY_PATH}

7、模型转换

使用方法

python ./tools/deploy.py \
    ${DEPLOY_CFG_PATH} \
    ${MODEL_CFG_PATH} \
    ${MODEL_CHECKPOINT_PATH} \
    ${INPUT_IMG} \
    --test-img ${TEST_IMG} \
    --work-dir ${WORK_DIR} \
    --calib-dataset-cfg ${CALIB_DATA_CFG} \
    --device ${DEVICE} \
    --log-level INFO \
    --show \
    --dump-info

参数描述

deploy_cfg : MMDeploy 中用于部署的配置文件路径。
model_cfg : OpenMMLab 系列代码库中使用的模型配置文件路径。
checkpoint : OpenMMLab 系列代码库的模型文件路径。
img : 用于模型转换时使用的图像文件路径。
--test-img : 用于测试模型的图像文件路径。默认设置成None。
--work-dir : 工作目录,用来保存日志和模型文件。
--calib-dataset-cfg : 此参数只有int8模式下生效,用于校准数据集配置文件。若在int8模式下未传入参数,则会自动使用模型配置文件中的’val’数据集进行校准。
--device : 用于模型转换的设备。 默认是cpu。
--log-level : 设置日记的等级,选项包括'CRITICAL''FATAL''ERROR''WARN''WARNING''INFO''DEBUG''NOTSET'。 默认是INFO。
--show : 是否显示检测的结果。
--dump-info : 是否输出 SDK 信息。

8、参考链接

https://zhuanlan.zhihu.com/p/484842986
https://mmdeploy.readthedocs.io/zh_CN/latest/build/linux.html

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ywfwyht

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值