【Docker】Docker容器中安装python、cuda、cudnn、pytorch、opencv、tensorrt
是一个常用选项,用于自动确认所有提示。这意味着在运行命令时,不会提示用户进行确认操作,系统会自动回答“是”并继续执行。中科大:https://pypi.mirrors.ustc.edu.cn/simple/清华源:https://pypi.tuna.tsinghua.edu.cn/simple/阿里云:http://mirrors.aliyun.com/pypi/simple/豆瓣源:http:/
以docker官方提供的 ubuntu:20.04为例
宿主机已经安装docker和nvidia驱动
安装 python3
# 通过镜像进入容器
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
出现以下结果说明安装成功:
欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。
更多推荐
所有评论(0)