ubuntu docker安装opencv支持cuda加速

软件版本信息

  • Ubuntu18.04 LST 宿主机
  • CUDA Version: 11.4
  • Nvidia GPU Driver Version: 470.57.02
  • cudDNN: 8.2.2.26
  • opencv: 4.5.3
  • opencv_contrib: 4.5.3
  • Video_Codec_SDK: 11.0.10

目标:编译 支持GPU硬件解码的opencv,支持C++和python3。

1. 宿主机安装docker

详见 Docker安装ubuntu18.04

2. 安装nvidia-docker

 nvida-docker安装

3. 拉取nvidia docker镜像

进入 https://hub.docker.com/ 选择nvidia docker
https://hub.docker.com/r/nvidia/cuda
通过Tags 选择 11.4.1-cudnn8-devel-ubuntu18.04
运行命令

docker pull nvidia/cuda:11.4.1-cudnn8-devel-ubuntu18.04

image中包含了cuda11.4 和 cudnn8

配置国内docker镜像源


4.启动容器

#### share GPU Driver with 宿主机

docker run -itd --gpus all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all  imageIDxxxxxx /bin/bash

进入容器

docker exec -it dockerIDxxxxxx /bin/bash 

5. 编译opencv

按照 安装opencv支持cuda加速 Ubuntu18.04 安装

不需要再安装gpu驱动,通过nvidia-smi  测试驱动是否正常

不需要再安装cuda11.4 和 cudnn8

6.修改环境

安装好opencv后,编译好的库被install 复制到 /usr/local/lib/

但是ldd的时候找不到库,可能因为权限问题

解决方案:

把opencv等相关编译的库的路径,加入 LD_LIBRARY_PATH 和 LIBRARY_PATH

通过修改 /etc/profile 和 ~/.bashrc

### libs_path
export LD_LIBRARY_PATH=/xxx/lib:/xxxbuild:/xxx/opencv/opencv-4.5.3/build/lib:$LD_LIBRARY_PATH

export LIBRARY_PATH=/xxx/lib:/xxxbuild:/xxx/opencv/opencv-4.5.3/build/lib:$LIBRARY_PATH

你可能感兴趣的:(opencv,ubuntu,docker)