1. 拉取基础镜像
项目所需cuda10.2+cudnn7.6.5+ubuntu18.04
cpp
docker pull docker.1ms.run/misterlong/cuda:cuda10.2-cudnn7.6.5-torch1.10-miniconda3-devel-ubuntu18.04
镜像地址:cuda10.2
找了一个镜像源地址拉取成功毫秒镜像
2.运行docker
拉取成功后
bash
docker image ls
查看拉取的image
bash
docker run --gpus all -it --name my_base_env \
docker.1ms.run/misterlong/cuda:cuda10.2-cudnn7.6.5-torch1.10-miniconda3-devel-ubuntu18.04
即进入docker中
3.更新cudnn
拉去的镜像为7.6.5,tensorrt需要8+,所以更新cudnn
卸载cudnn
bash
dpkg -r libcudnn7-dev libcudnn7
apt autoremove
sudo rm -rf /usr/local/cuda/include/cudnn*.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
验证
bash
dpkg -l | grep cudnn
安装cudnn
bash
tar -zxvf cudnn-10.2-linux-x64-v8.1.1.33.tgz
cp cuda/include/cudnn*.h /usr/local/cuda/include/
cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
ldconfig
验证
bash
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
3. 安装opencv
本地opencv文件传入docker
在宿主机新建终端后
bash
docker cp /home/yfzx/下载/opencv4.2.0.zip my_base_env:/home/yfzx/env/
bash
unzip opencv4.2.0.zip
cd opencv4.2.0
mkdir build
编译
bash
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/opencv4.2 -DOPENCV_EXTRA_MODULES_PATH=/home/yfzx/env/opencv4.2.0/opencv_contrib-4.2.0/modules -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=ON -DOPENCV_DNN_CUDA=ON -DOPENCV_ENABLE_NONFREE=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCUDA_ARCH_BIN=5.3 ..
bash
make -j6
make install
4. 安装tensorrt
bash
docker cp ./TensorRT-7.2.3.4.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn8.1.tar.gz my_base_env:/home/yfzx/env/
tar -zxvf TensorRT-7.2.3.4.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn8.1.tar.gz
cd TensorRT-7.2.3.4
sudo cp -r include/* /usr/local/cuda/include/
sudo cp -r lib/* /usr/local/cuda/lib64/
5.seetaface
宿主机
bash
docker cp ./seetaface6_ubuntu.zip my_base_env:/home/yfzx/env/
docker:
bash
cp -r ./seetaface6_ubuntu /usr/local/seetaface6
5.环境变量
bash
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/yfzx/env/TensorRT-7.2.3.4/lib:$LD_LIBRARY_PATH
6. 动态库配置
cd /etc/ld.so.conf.dsudo vim cuda.conf- 添加
/usr/local/cuda-10.0/lib64
- 添加
sudo vim darknet.conf- 添加
/usr/local/darknet/lib
- 添加
sudo vim opencv4.conf- 添加
/usr/local/opencv4.2/lib
- 添加
sudo vim seetaface6.conf- 添加
/usr/local/seetaface6/lib64
- 添加