【Docker】Docker容器中安装python、cuda、cudnn、pytorch、opencv、tensorrt

pzx_001 2024-08-01 13:37:01 阅读 91

文章目录

安装 python3安装cuda安装cudnn安装 pytorch检查cuda、cudnn安装是否成功安装opencv安装Tensorrt

以docker官方提供的 ubuntu:20.04为例

宿主机已经安装docker和nvidia驱动

安装 python3

<code># 通过镜像进入容器

docker run -it --gpus all --privileged=true --shm-size 8G ubuntu:20.04 /bin/bash

# 安装sudo

apt-get update

apt-get install sudo

# 安装python3

sudo apt-get install -y python3

# 在终端运行以下命令检查python3是否安装成功,默认安装python3.8

python3

# exit()退出python3

# 用一下命令创建软连接后,在终端使用命令python 即可进入python3.8

ln -sf /usr/bin/python3 /usr/bin/python

# 安装pip

sudo apt-get install -y python3-pip

# 使用以下命令验证pip3是否安装成功

pip3

冷知识:

apt-get install -y python3-pip命令中 -y 是一个常用选项,用于自动确认所有提示。这意味着在运行命令时,不会提示用户进行确认操作,系统会自动回答“是”并继续执行

安装cuda

cuda下载网址:https://developer.nvidia.com/cuda-toolkit-archive

# 首先使用nvidia-smi命令,在输出信息中 "CUDA Version"表示支持的最高cuda版本

# 确保宿主机已经安装nvidia驱动

nvidia-smi

# 进入cuda下载网址,选择需要安装的cuda版本,按照官方命令进行安装

sudo apt-get install -y wget

# 以cuda11.8为例,官方提供命令如下

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

# 在执行sh命令时,会弹出两个窗口

# 1. accppt接受

# 2. Enter将第一项Driver去掉,然后Install

sudo sh cuda_11.8.0_520.61.05_linux.run

# 配置环境变量

sudo apt-get install -y vim

# 使用vim将 export两行添加到~/.bashrc最下面(注意要cuda路径)

sudo vim ~/.bashrc

export PATH=/usr/local/cuda-11.8/bin${ PATH:+:${ PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

# 更新环境变量

source ~/.bashrc

测试cuda是否安装成功:

nvcc -V

安装cudnn

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

选择与cuda版本对应的cudnn版本

# 在宿主机中使用docker cp 命令将cudnn安装包复制到容器/root/目录下(路径可自行定义)

docker cp cudnn-linux-x86_64-8.9.6.50_cuda11-archive.tar.xz <容器ID>:/root/

# 在容器中使用tar命令解压,得到cudnn-linux-x86_64-8.9.6.50_cuda11-archive文件

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

# cd进入文件

cd cudnn-linux-x86_64-8.9.6.50_cuda11-archive

# 将include/cudnn.h文件复制到usr/local/cuda/include文件夹

sudo cp include/cudnn.h /usr/local/cuda-11.8/include

#将lib下所有文件复制到/usr/local/cuda/lib64文件夹中

sudo cp lib/libcudnn* /usr/local/cuda-11.8/lib64

# 添加读取权限

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

安装 pytorch

进入pytorch官网:https://pytorch.org/get-started/previous-versions/

找到对应的cuda版本安装命令进行安装

注意:

要找Linux系统下安装命令由于没有安装conda,只能用pip命令安装

如果下载过慢,可使用国内镜像源安装:

豆瓣源:http://pypi.douban.com/simple/

清华源:https://pypi.tuna.tsinghua.edu.cn/simple/

阿里云:http://mirrors.aliyun.com/pypi/simple/

中科大: https://pypi.mirrors.ustc.edu.cn/simple/

# 安装命令示例,以清华源为例,在官方提供的安装命令后面加上

# -i https://pypi.tuna.tsinghua.edu.cn/simple/ 即可

pip3 install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu118 -i https://pypi.tuna.tsinghua.edu.cn/simple

检查cuda、cudnn安装是否成功

使用pytorch检查cuda和cudnn安装是否成功

import torch

print(torch.version.cuda)

print(torch.backends.cudnn.version())

print(torch.cuda.is_available())

安装opencv

ubuntu命令安装opencv

sudo apt update

sudo apt install libopencv-dev python3-opencv

sudo ln -s /usr/include/opencv4/opencv2 /usr/include/

python pip 安装opencv

pip install opencv-python

pip install opencv-contrib-python

安装Tensorrt

Tensorrt官方下载:https://developer.nvidia.com/tensorrt/download

Tensorrt官方安装:https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-tar

注意:要与cuda版本对应

EA 版本代表抢先体验(在正式发布之前)

GA 代表通用性。 表示稳定版,经过全面测试

建议下载GA版本

# 本文下载版本:TensorRT 8.6 GA for Linux x86_64 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7 and 11.8 TAR Package

# 进行解压,解压后会得到TensorRT-8.6.1.6 文件

tar -zxvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz

# 添加路径

export LD_LIBRARY_PATH=/root/TensorRT-8.6.1.6/lib:$LD_LIBRARY_PATH

使用sampleOnnxMNIST测试是否成功:

https://github.com/NVIDIA/TensorRT/tree/main/samples/sampleOnnxMNIST

cd TensorRT-8.6.1.6/sample/sampleOnnxMNIS

make

cd ..

cd ..

cd bin

./sample_onnx_mnist

出现以下结果说明安装成功:

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。