Ubuntu20.04 深度学习环境配置(持续完善)

文章目录

  • 常用的一些命令
  • 安装 Anaconda
    • 创建conda虚拟环境
    • 查看虚拟环境大小
  • 安装显卡驱动
  • 安装CUDA
  • 安装cuDNN
    • 官方仓库安装 cuDNN
    • 安装 cuDNN 库
    • 验证 cuDNN 安装
    • 确认 CUDA 和 cuDNN 是否匹配:
  • TensorRT
    • 下载 TensorRT
    • 安装 TensorRT 本地仓库
    • 配置 GPG 签名密钥
    • 安装 TensorRT
    • 配置环境变量
    • 验证安装
  • 安装pytroch
    • 选择Pytorch版本
    • 在官网查找conda命令
    • 验证pytorch是否安装成功
  • 参考


常用的一些命令

更新 Conda

conda update conda -y

检查 NVIDIA 驱动版本

在本地机器上,确保已安装合适版本的 NVIDIA 驱动和 CUDA Toolkit,否则 GPU 无法正常工作。

nvidia-smi

通过 nvcc 命令查看 CUDA Toolkit 版本

如果您的系统安装了 CUDA Toolkit,可以运行以下命令查看版本:

nvcc --version

您会看到类似以下输出:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb_14_23:09:47_PST_2023
Cuda compilation tools, release 12.1, V12.1.105

其中 release 12.1 表示当前的 CUDA Toolkit 版本是 12.1。

1.查看当前安装的 torch 版本

python -c "import torch; print(torch.__version__)"
2.4.1.post100   # 若返回这个,表明仅安装的CPU版本 

2.确认当前安装的 PyTorch 是否支持 GPU 加速

python -c "import torch; print(torch.cuda.is_available())"
  • 输出 True 表示 GPU 可用。
  • 输出 False 表示未启用 GPU,可能是因为没有安装支持 CUDA 的版本或系统未检测到 GPU。

3.查看 PyTorch 使用的 CUDA 版本

python -c "import torch; print(torch.version.cuda)"

4.验证 GPU 信息

如果 GPU 可用,您还可以检查当前的 GPU 信息:

python -c "import torch; print(torch.cuda.get_device_name(0))"

安装 Anaconda

创建conda虚拟环境

conda create --name xxx python=3.11.9

查看虚拟环境大小

du -sh /home/damon/anaconda3           # base环境大小
du -sh /home/damon/anaconda3/envs/*    # 虚拟环境大小

安装显卡驱动

使用 nvidia-smi 来查看 NVIDIA GPU 的使用情况和显存信息:

如果系统上安装了 NVIDIA 驱动程序,该命令会显示 GPU 的型号、显存使用情况、温度等信息。

nvidia-smi

在这里插入图片描述

安装CUDA

查看当前cuda版本为11.3,也可以离理解成cuda的运行API

nvcc -V 

在这里插入图片描述

安装cuDNN

官方仓库安装 cuDNN

下载 cuDNN 包(.deb 文件):cuDNN

1.安装 cuDNN 本地仓库配置文件:

sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
damon@damon-System-Product-Name:~$ sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
(正在读取数据库 ... 系统当前共安装有 332813 个文件和目录。)
准备解压 cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb  ...
正在解压 cudnn-local-repo-ubuntu2004-8.9.7.29 (1.0-1) 并覆盖 (1.0-1) ...
正在设置 cudnn-local-repo-ubuntu2004-8.9.7.29 (1.0-1) ...
damon@damon-System-Product-Name:~$ 

第一次安装的时候,还会有这个

The public cudnn-local-repo-ubuntu2004-8.9.7.29 GPG key does not appear to be installed.
To install the key, run this command:
sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-local-30472A84-keyring.gpg /usr/share/keyrings/

2.将 cuDNN 的 GPG 密钥复制到 /usr/share/keyrings/:

sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-local-30472A84-keyring.gpg /usr/share/keyrings/

3.更新 apt 包管理器的源列表:

sudo apt-get update

安装 cuDNN 库

一旦配置了本地仓库,您可以安装 cuDNN 的运行时和开发文件:

sudo apt-get install libcudnn8 libcudnn8-dev -y
  • libcudnn8:这是 cuDNN 运行时库。
  • libcudnn8-dev:这是 cuDNN 开发库,包括头文件和符号链接,供开发使用。

验证 cuDNN 安装

1.检查 cuDNN 库是否安装成功:

使用 dpkg 命令检查 cuDNN 安装情况:

dpkg -l | grep libcudnn

如果安装成功,您将看到类似如下的输出:

damon@damon-System-Product-Name:~$ sudo dpkg -l | grep cudnn
ii  cudnn-local-repo-ubuntu2004-8.9.7.29              1.0-1                                 amd64        cudnn-local repository configuration files
ii  cudnn-local-repo-ubuntu2004-9.5.1                 1.0-1                                 amd64        cudnn-local repository configuration files
ii  libcudnn8                                         8.9.7.29-1+cuda12.2                   amd64        cuDNN runtime libraries
ii  libcudnn8-dev                                     8.9.7.29-1+cuda12.2                   amd64        cuDNN development libraries and headers
damon@damon-System-Product-Name:~$ 

上面还有其他版本,可以通过一下命令卸载:

sudo apt-get remove cudnn-local-repo-ubuntu2004-9.5.1

2.验证 cuDNN 头文件和版本:

确保头文件存在:

damon@damon-System-Product-Name:~$ ls /usr/include/cudnn.h
/usr/include/cudnn.h
damon@damon-System-Product-Name:~$ 

然后查看 cuDNN 版本信息:

cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述

确认 CUDA 和 cuDNN 是否匹配:

确保 cuDNN 与 CUDA 版本兼容。运行以下命令确认当前的 CUDA 版本:

damon@damon-System-Product-Name:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0
damon@damon-System-Product-Name:~$ 

对应的 cuDNN 版本应与您安装的 CUDA 版本兼容。您可以在 NVIDIA 官网 查找兼容的版本列表。

TensorRT

在已经安装好 CUDA 和 cuDNN 的前提下,安装 TensorRT 的详细步骤如下所示:

下载 TensorRT

前往NVIDIA TensorRT 8.x Download,选择最新的 TensorRT 进行下载,推荐下载适合自己 CUDA 版本的 GA 版:

注意
TensorRT 的 GA 版是稳定的生产版本,适用于正式环境,而 EA 版是包含新功能的早期访问版本,适合开发和测试。

在这里插入图片描述
在这里插入图片描述

wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/secure/8.6.1/local_repos/nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0_1.0-1_amd64.deb

安装 TensorRT 本地仓库

下载完 .deb 文件后,使用 dpkg 命令来安装 TensorRT 的本地仓库:

damon@damon-System-Product-Name:/opt$ sudo dpkg -i nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0_1.0-1_amd64.deb
[sudo] damon 的密码: 
(正在读取数据库 ... 系统当前共安装有 332863 个文件和目录。)
准备解压 nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0_1.0-1_amd64.deb  ...
正在解压 nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0 (1.0-1) 并覆盖 (1.0-1) ...
正在设置 nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0 (1.0-1) ...
damon@damon-System-Product-Name:/opt$ 

这将安装 TensorRT 的本地仓库文件。

配置 GPG 签名密钥

将 TensorRT 本地仓库的 GPG 签名密钥复制到系统的 /usr/share/keyrings/ 目录,确保软件包来源可信:

sudo cp /var/nv-tensorrt-local-repo-ubuntu2204-8.6.1-cuda-12.0/nv-tensorrt-local-42B2FC56-keyring.gpg /usr/share/keyrings/

安装 TensorRT

然后,使用 apt-get 安装 TensorRT 包:

sudo apt-get install tensorrt

配置环境变量

安装完成后,你可能还需要配置一些环境变量以确保 TensorRT 和 CUDA 能够正常工作。

编辑 .bashrc 文件,然后添加以下行到文件末尾:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/TensorRT/lib
export PATH=$PATH:/usr/local/cuda/bin

保存文件并使更改生效:

source ~/.bashrc

验证安装

安装完成后,你可以通过以下命令检查 TensorRT 是否正确安装:

dpkg -l | grep tensorrt

输出应该类似于以下内容,确认 TensorRT 安装正确:

damon@damon-System-Product-Name:~$ dpkg -l | grep tensorrt
ii  nv-tensorrt-local-repo-ubuntu2004-8.6.1-cuda-12.0 1.0-1                                 amd64        nv-tensorrt-local repository configuration files
ii  tensorrt                                          8.6.1.6-1+cuda12.0                    amd64        Meta package for TensorRT
damon@damon-System-Product-Name:~$ 

安装pytroch

选择Pytorch版本

nvcc -V   #查看Pytorch对应的cuda版本,显示release 11.3, V11.3.58
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0

在官网查找conda命令

pytorch官网

# CUDA 12.1
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.1 -c pytorch -c nvidia

我们在安装显卡驱动时会安装cudatoolkit,在安装pytorch时也会安装cudatoolkit?安装显卡驱动时,cudatoolkit是一个完整安装包,而安装pytorch时安装的cudatoolkit只会安装pytorch会使用的部分,两个cudatoolkit是独立的,都在工作在显卡驱动上,所以我们还需要安装cudnn。cudatoolkit和cuda版本必须一样。

验证pytorch是否安装成功

1.通过 Python 代码验证 PyTorch 版本

import torch
print(torch.__version__)

2.使用命令行验证 PyTorch 版本

python -c "import torch; print(torch.__version__)"

3.使用 pip 查看 PyTorch 版本

pip show torch
Name: torch                                                                                                                                                                                                                                                                       
Version: 2.4.1                                                                                                                                                                                                                                                                    
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration                                                                                                                                                                                               
Home-page: https://pytorch.org/                                                                                                                                                                                                                                                   
Author: PyTorch Team                                                                                                                                                                                                                                                              
Author-email: packages@pytorch.org                                                                                                                                                                                                                                                
License: BSD-3                                                                                                                                                                                                                                                                    
Location: /home/damon/anaconda3/envs/qhzpl/lib/python3.11/site-packages                                                                                                                                                                                                           
Requires: filelock, fsspec, jinja2, networkx, sympy, typing-extensions                                                                                                                                                                                                            
Required-by: torchaudio, torchvision   

4.使用 conda 查看安装的 PyTorch 版本

如果你使用的是 conda 环境,可以通过以下命令查看安装的 PyTorch 版本:

conda list pytorch

输出类似如下:

# packages in environment at /path/to/anaconda/envs/yourenv:
#
# Name                    Version                   Build  Channel                                                                                                                                                                                                                
pytorch                   2.4.1           py3.11_cuda12.1_cudnn9.1.0_0    pytorch                                                                                                                                                                                                 
pytorch-cuda              12.1                 ha16c6d3_6    pytorch                                                                                                                                                                                                              
pytorch-mutex             1.0                        cuda    pytorch      


参考

Ubuntu20.04 更新Nvidia驱动 + 安装CUDA12.1 + cudnn8.9.7

安装cudnn

Ubuntu 20.04 pytorch 环境搭建 深度学习 | 图文安装流程


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7503.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android多语言开发自动化生成工具

在做 Android 开发的过程中,经常会遇到多语言开发的场景,尤其在车载项目中,多语言开发更为常见。对应多语言开发,通常都是在中文版本的基础上开发其他国家语言,这里我们会拿到中-外语言对照表,这里的工作难…

数据结构——堆(C语言)

基本概念: 1、完全二叉树:若二叉树的深度为h,则除第h层外,其他层的结点全部达到最大值,且第h层的所有结点都集中在左子树。 2、满二叉树:满二叉树是一种特殊的的完全二叉树,所有层的结点都是最…

const的用法

文章目录 一、C和C中const修饰变量的区别二、const和一级指针的结合const修饰的量常出现的错误是:const和一级指针的结合总结:const和指针的类型转换公式 三、const和二级指针的结合 一、C和C中const修饰变量的区别 C中:const必须初始化,叫常…

机器学习-线性回归(参数估计之经验风险最小化)

给定一组包含 𝑁 个训练样本的训练集 我们希望能够 学习一个最优的线性回归的模型参数 𝒘 现在我们来介绍线性回归的一种模型参数估计方法:经验风险最小化。 我们前面说过,对于标签 𝑦 和模型输出都为连续的实数值&…

appium自动化环境搭建

一、appium介绍 appium介绍 appium是一个开源工具、支持跨平台、用于自动化ios、安卓手机和windows桌面平台上面的原生、移动web和混合应用,支持多种编程语言(python,java,Ruby,Javascript、PHP等) 原生应用和混合应用&#xf…

视频多模态模型——视频版ViT

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细解读多模态论文《ViViT: A Video Vision Transformer》,2021由google 提出用于视频处理的视觉 Transformer 模型,在视频多模态领域有…

使用Cline+deepseek实现VsCode自动化编程

不知道大家有没有听说过cursor这个工具,类似于AIVsCode的结合体,只要绑定chatgpt、claude等大模型API,就可以实现对话式自助编程,简单闲聊几句便可开发一个软件应用。 但cursor受限于外网,国内用户玩不了,…

【Linux】Linux编译器-g++、gcc、动静态库

只要积极创造,机遇无时不有;只要善于探索,真理无处不在。💓💓💓 目录 ✨说在前面 🍋知识点一:Linux编译器-g、gcc •🌰1. 背景知识 •🌰2. gcc如何完成 •…

Spring整合Mybatis、junit纯注解

如何创建一个Spring项目 错误问题 不知道什么原因,大概是依赖版本不兼容、java版本不对的问题,折磨了好久就是搞不成。 主要原因看pom.xml配置 pom.xml配置 java版本 由于是跟着22年黑马视频做的,java版本换成了jdk-11,用21以…

【架构面试】二、消息队列和MySQL和Redis

MQ MQ消息中间件 问题引出与MQ作用 常见面试问题:面试官常针对项目中使用MQ技术的候选人提问,如如何确保消息不丢失,该问题可考察候选人技术能力。MQ应用场景及作用:以京东系统下单扣减京豆为例,MQ用于交易服和京豆服…

MATLAB提供的颜色映射表colormap——伪彩色

图像处理领域的一个习惯:不是真实的颜色,一般用伪彩色。一是说明不是物体本身的颜色,二是彩色更容易分辨。 MATLAB陆续提供了16种颜色映射表colormap。 之前的都很丑,近5年新增的4种还可以。总的说来还是丑。 这是一种鸟的名字。…

案例研究丨浪潮云洲通过DataEase推进多维度数据可视化建设

浪潮云洲工业互联网有限公司(以下简称为“浪潮云洲”)成立于2018年,定位于工业数字基础设施建设商、具有国际影响力的工业互联网平台运营商、生产性互联网头部服务商。截至目前,浪潮云洲工业互联网平台连续五年入选跨行业跨领域工…

电脑无法开机,重装系统后没有驱动且驱动安装失败

电脑无法开机,重装系统后没有驱动且驱动安装失败 前几天电脑突然坏了,电脑卡住后,强制关机,再开机后开机马上就关机。尝试无数次开机后失败,进入BIOS界面,发现已经没有Windows系统了。重新安装系统后&…

C++异步future

🌎 C11异步futrue 文章目录: C11异步futrue future介绍     应用场景     future操作       std::async函数模版       std::packaged_task类模版       std::promise类模版 🚀future介绍 std::future是C11标准库…

【C++探索之路】STL---string

走进C的世界,也意味着我们对编程世界的认知达到另一个维度,如果你学习过C语言,那你绝对会有不一般的收获,感受到C所带来的码云风暴~ ---------------------------------------begin--------------------------------------- 什么是…

CF 339A.Helpful Maths(Java实现)

题目分析 输入一串式子,输出从小到大排列的式子 思路分析 如上所说核心思路,但是我要使用笨方法,输入一串式子用split分割开,但是此时需要用到转义字符,即函数内参数不能直接使用“”,而是“\\”。分割开后…

C#,入门教程(07)——软件项目的源文件与目录结构

上一篇: C#,入门教程(06)——解决方案资源管理器,代码文件与文件夹的管理工具https://blog.csdn.net/beijinghorn/article/details/124895033 创建新的 C# 项目后, Visual Studio 会自动创建一系列的目录与文件。 程序员后面的工…

Cpp::静态 动态的类型转换全解析(36)

文章目录 前言一、C语言中的类型转换二、为什么C会有四种类型转换?内置类型 -> 自定义类型自定义类型 -> 内置类型自定义类型 -> 自定义类型隐式类型转换的坑 三、C强制类型转换static_castreinterpret_castconst_castdynamic_cast 四、RTTI总结 前言 Hell…

Android中Service在新进程中的启动流程

目录 1、Service与AMS交互框架介绍 1.1、认识AMS代表IActivityManager 1.2、认识客户端代表IApplicationThread 2、Service启动流程概览 我们知道Android有四大组件,Activity、Service、ContentProvider、Broadcast,每个组件在系统运行中或者我们编写…

docker 简要笔记

文章目录 一、前提内容1、docker 环境准备2、docker-compose 环境准备3、流程说明 二、打包 docker 镜像1、基础镜像2、国内镜像源3、基础的dockerfile4、打包镜像 四、构建运行1、docker 部分2、docker-compose 部分2.1、构建docker-compose.yml2.1.1、同目录构建2.1.2、利用镜…