UBUNTU安装NVIDIA显卡驱动、CUDA、CUDNN、ANACONDA3、PYTORCH、NVIDIA-DOCKER

本文详细记录了在Ubuntu系统上安装显卡驱动、CUDA、CUDNN及PyTorch和TensorFlow的步骤,包括添加PPA、处理gcc验证问题、链接符号文件错误,并提供安装验证方法和常见错误解决方案。
部署运行你感兴趣的模型镜像

折腾了两天,整理一下安装过程。

一、安装显卡驱动

参考https://zhuanlan.zhihu.com/p/59618999

第一种安装方法(推荐)

111

ubuntu-drivers devices #查看显卡硬件型号,其中推荐安装的版本号带有recommended
sudo ubuntu-drivers autoinstall # 同意安装推荐版本
#或者 sudo apt install nvidia-xxx  安装指定版本

第二种安装方法

sudo add-apt-repository ppa:graphics-drivers/ppa#添加 PPA 软件仓库
sudo apt update
sudo apt install nvidia-xxx

nvidia-smi 出现界面即成功,也可以查看nvidia-settings

二、安装cuda

安装run包(推荐)

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run 
# 有wget命令的,可以先行打开网页下载,省这一步。
sudo sh cuda_11.1.0_455.23.05_linux.run 

因为已经装了驱动,打开后点击contine,输入accept,然后将driver的X去掉点install。

或者安装deb包

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda-repo-ubuntu2004-11-1-local_11.1.0-455.23.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-1-local_11.1.0-455.23.05-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-1-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

设置环境变量

sudo gedit ~/.bashrc
打开配置表在末尾输入以下三行:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64
export PATH=$PATH:/usr/local/cuda-11.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.1

source ~/.bashrc #更新配置表

输入nvcc -V 或者nvcc --version,有出现版本信息就成功。

错误:
安装时出现:Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.
解决方法:sudo apt install gcc ,接着通过gcc -v查看是否有版本信息。
安装之前一定要卸载NVIDIA驱动,CUDA,CUDNN,再进行安装,否则会报错。

三、安装cudnn,下载cuda对应的cudnn文件

下载

https://developer.nvidia.com/rdp/cudnn-download
需要先注册登录,然后下载指定版本的cudnn,有四个,其中有一个压缩包和三个deb包。
在这里插入图片描述

安装

tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz #也可以直接解压
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include #复制到指定文件夹
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo cp cuda/include/* /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

测试使用cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2,出现以下就成功:
在这里插入图片描述
接下来的安装顺序是:

sudo dpkg -i libcudnn8_x.x.x-1+cudax.x_amd64.deb #出现错误以下有解决办法
sudo dpkg -i libcudnn8-dev_8.x.x.x-1+cudax.x_amd64.deb
sudo dpkg -i libcudnn8-samples_8.x.x.x-1+cudax.x_amd64.deb

验证:

cp -r /usr/src/cudnn_samples_v8/ $HOME 
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN

【显示test passed说明安装成功!】

我在安装libcudnn8_x.x.x-1+cudax.x_amd64.deb时出现错误:

/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn_cnn_infer.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn_ops_infer.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn.so.8 is not a symbolic link

解决方法:

sudo ln -sf /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.0.5 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
sudo ln -sf /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.0.5 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11.1/targets/x86_64-linux/lib/llibcudnn_adv_train.so.8.0.5 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.0.5 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.0.5 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.0.5 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn.so.8.0.5 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn.so.8

四、安装anacodna

下载

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

在清华开源镜像中找到安装包,我选择的是Anaconda3-2020.11-Linux-x86_64.sh

安装

sudo sh Anaconda3-2020.11-Linux-x86_64.sh

添加环境变量

echo 'export PATH="~/anaconda3/bin:$PATH"'>>~/.bashrc
source ~/.bashrc

输入conda -V 输出指定版本即成功。

其他

其他

  • 打包conda环境
    conda pack -n envname
    conda pack -n envname -o /path/to/envname.tar.gz
    
  • 复原conda环境
    cd /path/to/miniconda3/envs/
    mkdir envname
    tar -xzvf /path/to/envname.tar.gz -C /path/to/miniconda3/envs/envname
    

五、安装pytorch,tensorflow

pytorch从https://download.pytorch.org/whl/torch_stable.html离线下载
tensorflow和其他的whl可以从https://pypi.org/离线下载
下载后使用pip install xxx.whl进行安装。

【装完测试,出现Ture就成功】

source activate base#base是环境,这里使用的是默认的
python
import torch 
torch.cuda.is_available()

六、安装nvidia-docker

离线安装包,可省以下步骤

首先安装docker

sudo apt-get install docker.io

docker -v出现对应版本就成功】

然后安装nvidia-docker,参照官网步骤来:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker

最后就sudo apt-get install -y nvidia-docker
输入nvidia-docker有弹出就成功了
安装错误:
一直卡在无法连接到NVIDIA-GITHUB.IO
打开该网站http://tool.chinaz.com/dns/?type=1&host=nvidia.github.io&ip=
然后修改hosts: sudo gedit /etc/hosts
复制进去即可
在这里插入图片描述
docer启动错误:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json: dial unix /var/run/docker.sock: connect: permission denied
输入即可:sudo chmod a+rw /var/run/docker.sock

一些docker操作:
搜索镜像:docker search xxx
下载镜像:docker pull xxx
查看镜像:docker images
修改镜像名字:docker tag IMAGE_ID REPOSITORY:TAG
导出镜像:docker save -o savefilename  要保存的镜像
导入保存的镜像:docker load --input savefilename

查看容器:docker ps -a
启动容器:sudo docker run --ipc=host --gpus all -v /media:/media -it container_name
停止容器:sudo docker stop/kill container_ID
停止所有容器:docker stop $(docker ps -aq)
删除所有容器:docker rm $(docker ps -aq)
保存容器为镜像:sudo docker commit CONTAINER_ID  REPOSITORY:TAG

七、安装KALDI

通过docker运行kaldi(推荐)

从容器中启动,比较方便,已经都编译好了。
https://registry.hub.docker.com/r/kaldiasr/kaldi/tags搜索到我需要的kaldi版本,我想要的是带有gpu版本的cuda,输入命令docker pull kaldiasr/kaldi:gpu-latest

从命令行启动docker:

sudo docker run --ipc=host --gpus all -v /home:/home -it kaldiasr/kaldi:gpu-latest 
#-v 命令是从本地/media挂载到docker镜像的/home中,可以直接从镜像里面进入本地目录。

从vscode启动docker:

参考这篇博客的步骤
https://blog.youkuaiyun.com/weixin_40641725/article/details/105512106

本地编译Kaldi

参考这篇博客的步骤
https://zhuanlan.zhihu.com/p/44483840

安装好了之后需要把Kaldi的相关工具加到环境变量中,比如把下面的内容加到~/.bashrc下并且重新打开终端。

export KALDI_ROOT=/home/user/kaldi#KALDI_ROOT设置成kaldi的根目录。
PATH=$KALDI_ROOT/tools/openfst:$PATH
PATH=$KALDI_ROOT/src/featbin:$PATH
PATH=$KALDI_ROOT/src/gmmbin:$PATH
PATH=$KALDI_ROOT/src/bin:$PATH
PATH=$KALDI_ROOT/src/nnetbin:$PATH
export PATH

如果运行copy-feats能出现帮助文档,则说明安装成功。

验证是否

REFERENCE

https://www.freesion.com/article/5779967644/

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think>首先,用户的问题是关于在Ubuntu系统上安装AnacondaPyTorchDockerNVIDIA Container Tools,并部署YOLOv5演示。我必须参考提供的引用,但引用不是用户真正的需求;它们是站内引用,我需要基于这些来构建回答。 回顾引用: - [^1]: 提到安装NVIDIA驱动、CUDACUDNNANACONDA3PYTORCHNVIDIA-DOCKER。参考官网步骤安装nvidia-docker- [^2]: 讨论在Ubuntu安装GPU的PyTorch,提到了conda命令安装PyTorch等。 - [^3]: 描述了使用docker镜像,包括nvidia/cuda:11.1.1-cudnn8-devel-ubuntu20.04,以及docker run命令。 - [^4]: 提到执行docker compose文件并访问端口。 用户的具体需求是安装AnacondaPyTorchDockerNVIDIA Container Tools,并部署YOLOv5演示。YOLOv5是一个流行的物体检测模型,我需要确保PyTorch设置正确。 回答结构必须清晰,逐步解决问题。使用中文回答。系统级指令要求: - 行内数学表达式用$...$格式。 - 独立公式用$$...$$格式并单独成段。 - LaTeX语法正确。 - 生成相关问题。 - 引用的段落末尾添加引用标识如[^1]。 在回答中,我需要引用相关部分。引用来自提供的[^1]到[^4],所以我应该自然地融入回答中。 大纲回答: 1. **安装NVIDIA驱动和CUDA**:这是基础,因为YOLOv5需要GPU支持。 2. **安装DockerNVIDIA Container Tools**:确保Docker可以使用GPU。 3. **安装Anaconda**:用于管理Python环境。 4. **使用Anaconda安装PyTorch**:指定GPU版本。 5. **部署YOLOv5演示**:这可能涉及到克隆YOLOv5仓库并运行一个示例。 基于引用: - 从[^1]:参考安装nvidia-docker的官网步骤。 - 从[^2]:conda安装PyTorch的命令。 - 从[^3]:使用特定的CUDA Docker镜像和docker run命令。 - 从[^4]:docker compose的使用。 YOLOv5部署:YOLOv5有官方GitHub仓库,可以通过pip安装或在Docker中运行。用户提到部署演示,所以可能运行一个简单的检测示例。 步骤细化: 1. **前提条件**:确保Ubuntu系统已安装NVIDIA驱动。用户可能已有,如果没有,简要说明。 - 参考[^1],提到安装NVIDIA驱动。 2. **安装DockerNVIDIA Container Tools**: - 安装Docker引擎。 - 安装NVIDIA Container Toolkit,以便Docker容器可以使用GPU。 - 参考[^1]的官网链接:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker 3. **安装Anaconda**: - 下载并安装Anaconda。 4. **使用Anaconda安装PyTorch**: - 创建一个conda环境。 - 安装PyTorch with CUDA支持。参考[^2],使用命令如:`conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia` - PyTorch版本应匹配CUDA版本。 5. **部署YOLOv5**: - 克隆YOLOv5仓库:`git clone https://github.com/ultralytics/yolov5` - 安装依赖:`cd yolov5 && pip install -r requirements.txt` - 运行演示:`python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/` - 也可以在Docker中运行,以容器化部署。参考[^3],使用类似镜像。 对于Docker部署YOLOv5: - 使用一个预先构建的镜像或创建一个Dockerfile。 - 参考[^3],使用nvidia/cuda镜像作为基础。 - 然后安装Anaconda/PyTorch在内部。 - 或者,直接从YOLOv5的Dockerfile构建。 用户提到部署YOLOv5演示,所以提供两种方式:1) 原生使用Anaconda环境,2) 使用Docker容器。 生成相关问题:在回答结束时,添加相关问题部分。 确保回答真实可靠:基于标准实践和参考文献。 最终回答结构: - 介绍:简要概述步骤。 - 步骤1:安装NVIDIA驱动(如果需要)。 - 步骤2:安装DockerNVIDIA Container Toolkit。 - 步骤3安装Anaconda- 步骤4:创建conda环境并安装PyTorch- 步骤5:部署YOLOv5演示(原生或Docker)。 - 相关问题。 在末尾添加引用标识。 </think>### Ubuntu系统安装AnacondaPyTorchDockerNVIDIA Container Tools并部署YOLOv5演示指南 以下步骤基于Ubuntu 20.04 LTS系统(其他版本类似),逐步安装所需工具并部署YOLOv5演示。整个过程分为硬件准备、软件安装和YOLOv5部署三部分。确保系统已连接互联网,并具有sudo权限。如果系统未安装NVIDIA驱动,需先完成驱动安装(步骤1);如果已安装,可跳过。部署YOLOv5演示时,提供原生Anaconda环境和Docker容器两种方式,推荐Docker方式以获得更好的可移植性和一致性。 --- #### **步骤1: 安装NVIDIA驱动与CUDA(硬件准备)** YOLOv5依赖GPU加速,必须先安装NVIDIA驱动和CUDA工具包。确保GPU支持CUDA(如NVIDIA GeForce系列)。 - **检查GPU驱动状态**: ```bash nvidia-smi # 如果输出GPU信息,表示驱动已安装;否则需安装 ``` - **安装驱动(如未安装)**: - 添加官方PPA仓库并安装: ```bash sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo ubuntu-drivers autoinstall # 自动安装推荐版本 sudo reboot # 重启生效 ``` - 验证:`nvidia-smi` 应显示驱动版本和CUDA兼容版本(如CUDA 11.x)。 - **安装CUDAcuDNN**: -NVIDIA官网下载对应版本(推荐CUDA 11.8,兼容主流PyTorch): ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb sudo apt-get update sudo apt-get -y install cuda-11-8 ``` - 安装cuDNN(需注册NVIDIA开发者账号): ```bash sudo apt install libcudnn8 libcudnn8-dev # 对应CUDA 11.x ``` - 设置环境变量: ```bash echo &#39;export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}&#39; >> ~/.bashrc echo &#39;export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}&#39; >> ~/.bashrc source ~/.bashrc ``` 验证:`nvcc --version` 应输出CUDA版本[^1]. --- #### **步骤2: 安装DockerNVIDIA Container Tools** Docker用于容器化部署,NVIDIA Container Tools使容器能访问GPU。 - **安装Docker引擎**: ```bash sudo apt update sudo apt install docker.io docker-compose sudo systemctl start docker sudo systemctl enable docker ``` - **安装NVIDIA Container Toolkit**: - 添加仓库并安装(参考官方文档): ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt update sudo apt install -y nvidia-container-toolkit sudo systemctl restart docker ``` - 验证:`docker run --rm --gpus all nvidia/cuda:11.8.0-base nvidia-smi` 应输出GPU信息(与宿主机一致)[^1][^3]. - **配置Docker使用GPU**: - 运行容器时指定`--gpus all`(如部分GPU:`--gpus device=0,1`)[^3]. --- #### **步骤3: 安装Anaconda** Anaconda用于Python环境管理。 - **下载并安装Anaconda**: ```bash wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh bash Anaconda3-2024.02-1-Linux-x86_64.sh # 按提示安装,默认路径为~/anaconda3 source ~/.bashrc # 激活conda ``` - **验证**:`conda --version` 应显示版本号(如`conda 24.1.2`)。 --- #### **步骤4: 安装PyTorch(GPU版)** 在Anaconda环境中安装PyTorch,确保CUDA兼容。 - **创建并激活conda环境**: ```bash conda create -n yolov5_env python=3.10 # 创建Python 3.10环境 conda activate yolov5_env ``` - **安装PyTorch与依赖**: - 使用Conda或Pip安装(匹配CUDA 11.8): ```bash conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia # 官方源安装[^2] ``` - 或Pip方式:`pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118` - 验证PyTorch GPU支持: ```python python -c "import torch; print(torch.cuda.is_available())" # 输出True表示成功 ``` --- #### **步骤5: 部署YOLOv5演示** YOLOv5是一个实时物体检测模型,提供原生和Docker两种部署方式。 ##### **方式1: 原生Anaconda环境部署(简单快速)** - **克隆YOLOv5仓库并安装依赖**: ```bash git clone https://github.com/ultralytics/yolov5 # 克隆官方仓库 cd yolov5 pip install -r requirements.txt # 安装依赖库 ``` - **运行演示脚本**: ```bash python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/bus.jpg # 示例检测 ``` - 输出结果保存在`runs/detect/exp`目录,查看检测后的图片。 - 性能:在GPU上,帧率可达$60 \text{FPS}$(取决于GPU型号)[^2]. ##### **方式2: Docker容器部署(推荐生产环境)** 使用预构建CUDA镜像,确保环境一致性。 - **拉取CUDA基础镜像**: ```bash docker pull nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04 # 兼容PyTorch的镜像[^3] ``` - **创建Dockerfile构建YOLOv5镜像**: - 新建文件`Dockerfile`: ```dockerfile FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04 RUN apt update && apt install -y python3-pip git RUN git clone https://github.com/ultralytics/yolov5 /yolov5 WORKDIR /yolov5 RUN pip install -r requirements.txt CMD ["python", "detect.py", "--weights", "yolov5s.pt", "--source", "data/images"] ``` - 构建镜像: ```bash docker build -t yolov5-demo . ``` - **运行容器并执行检测**: ```bash docker run --gpus all -v $(pwd)/data:/yolov5/data yolov5-demo # 挂载数据卷,GPU支持 ``` - 访问检测结果:容器输出目录映射到宿主机当前目录的`data`子目录[^4]. - **使用Docker Compose(可选)**: - 创建`compose.yaml`: ```yaml version: &#39;3.8&#39; services: yolov5: image: yolov5-demo runtime: nvidia # 启用GPU volumes: - ./data:/yolov5/data ``` - 启动:`docker compose -f compose.yaml up`[^4]. --- #### **验证与常见问题** - **验证YOLOv5运行**: - 成功时输出检测框和置信度,例如:`car: 95%`。 - 错误处理: - GPU未识别:检查`nvidia-smi`和`torch.cuda.is_available()`。 - 依赖缺失:重新运行`pip install -r requirements.txt`。 - **性能优化**: - 使用更小模型(如`yolov5s.pt`)提高速度。 - Docker部署时,指定GPU索引(`--gpus device=0`)避免资源争用[^3]. 通过以上步骤,您可在Ubuntu系统上完成全套工具链安装并运行YOLOv5演示。整个过程耗时约$30$分钟(依赖网速),推荐使用Docker方式以获得最佳可复现性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nooobme

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

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

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

打赏作者

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

抵扣说明:

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

余额充值