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.mzph.cn/news/894366.shtml

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

相关文章

元宇宙与Facebook:社交互动的未来方向

随着技术的飞速发展,元宇宙逐渐成为全球科技领域关注的焦点。作为一种集沉浸式体验、虚拟空间和数字社交互动为一体的新型平台,元宇宙正在重新定义人类的社交方式。而在这一变革中,Facebook(现改名为Meta)作为全球领先…

【赵渝强老师】K8s中Pod探针的ExecAction

在K8s集群中,当Pod处于运行状态时,kubelet通过使用探针(Probe)对容器的健康状态执行检查和诊断。K8s支持三种不同类型的探针,分别是:livenessProbe(存活探针)、readinessProbe&#…

python 语音识别

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

Node.js——body-parser、防盗链、路由模块化、express-generator应用生成器

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

PPT演示设置:插入音频同步切换播放时长计算

PPT中插入音频&同步切换&放时长计算 一、 插入音频及音频设置二、设置页面切换和音频同步三、播放时长计算 一、 插入音频及音频设置 1.插入音频:点击菜单栏插入-音频-选择PC上的音频(已存在的音频)或者录制音频(现场录制…

3D图形学与可视化大屏:什么是材质属性,有什么作用?

一、颜色属性 漫反射颜色 漫反射颜色决定了物体表面对入射光进行漫反射后的颜色。当光线照射到物体表面时,一部分光被均匀地向各个方向散射,形成漫反射。漫反射颜色的选择会直接影响物体在光照下的外观。例如,一个红色的漫反射颜色会使物体在…

Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?

Jenkins在第一次进行登录的时候,只需要输入Jenkins\secrets\initialAdminPassword中的密码,登录成功后,本次我们没有修改密码,就会导致后面第二次登录,Jenkins需要进行用户名和密码的验证,但是我们根本就没…

Qt常用控件 输入类控件

文章目录 1.QLineEdit1.1 常用属性1.2 常用信号1.3 例子1,录入用户信息1.4 例子2,正则验证手机号1.5 例子3,验证输入的密码1.6 例子4,显示密码 2. QTextEdit2.1 常用属性2.2 常用信号2.3 例子1,获取输入框的内容2.4 例…

有没有个性化的UML图例

绿萝小绿萝 (53****338) 2012-05-10 11:55:45 各位大虾,有没有个性化的UML图例 绿萝小绿萝 (53****338) 2012-05-10 11:56:03 例如部署图或时序图的图例 潘加宇 (35***47) 2012-05-10 12:24:31 "个性化"指的是? 你的意思使用你自己的图标&…

Go学习:字符、字符串需注意的点

Go语言与C/C语言编程有很多相似之处,但是Go语言中在声明一个字符时,数据类型与其他语言声明一个字符数据时有一点不同之处。通常,字符的数据类型为 char,例如 :声明一个字符 (字符名称为 ch) 的语句格式为 char ch&am…

本地部署 DeepSeek-R1 模型

文章目录 霸屏的AIDeepSeek是什么?安装DeepSeek安装图形化界面总结 霸屏的AI 最近在刷视频的时候,总是突然突然出现一个名叫 DeepSeek 的玩意,像这样: 这样: 这不经激起我的一顿好奇心,这 DeepSeek 到底是个…

断裂力学课程报告

谈谈你对线弹性断裂力学和弹塑性断裂力学的认识 经过对本课程的学习,我首先认识到断裂力学研究的是宏观的断裂问题,而不是研究属于断裂物理研究范围的微观结构断裂机理。断裂力学从材料内部存在缺陷出发,研究裂纹的生成、亚临界拓展&#xff…

【机器学习】自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数

一、使用pytorch框架实现逻辑回归 1. 数据部分: 首先自定义了一个简单的数据集,特征 X 是 100 个随机样本,每个样本一个特征,目标值 y 基于线性关系并添加了噪声。将 numpy 数组转换为 PyTorch 张量,方便后续在模型中…

高性能消息队列Disruptor

定义一个事件模型 之后创建一个java类来使用这个数据模型。 /* <h1>事件模型工程类&#xff0c;用于生产事件消息</h1> */ no usages public class EventMessageFactory implements EventFactory<EventMessage> { Overridepublic EventMessage newInstance(…

Java线程认识和Object的一些方法ObjectMonitor

专栏系列文章地址&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标&#xff1a; 要对Java线程有整体了解&#xff0c;深入认识到里面的一些方法和Object对象方法的区别。认识到Java对象的ObjectMonitor&#xff0c;这有助于后面的Synchron…

基于YOLO11的肺结节检测系统

基于YOLO11的肺结节检测系统 (价格90) LUNA16数据集 数据一共 1186张 按照8&#xff1a;1&#xff1a;1随机划分训练集&#xff08;948张&#xff09;、验证集&#xff08;118张&#xff09;与测试集&#xff08;120张&#xff09; 包含 nodule 肺结节 1种…

C++ Primer 自定义数据结构

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

《AI大模型开发笔记》DeepSeek技术创新点

一、DeepSeek横空出世 DeepSeek V3 以颠覆性技术架构创新强势破局&#xff01;革命性的上下文处理机制实现长文本推理成本断崖式下降&#xff0c;综合算力需求锐减90%&#xff0c;开启高效 AI 新纪元&#xff01; 最新开源的 DeepSeek V3模型不仅以顶尖基准测试成绩比肩业界 …

数仓实战项目,大数据数仓实战(离线数仓+实时数仓)

1.课程目标 2.电商行业与电商系统介绍 3.数仓项目整体技术架构介绍 4.数仓项目架构-kylin补充 5.数仓具体技术介绍与项目环境介绍 6.kettle的介绍与安装 7.kettle入门案例 这个连线是点击shift键&#xff0c;然后鼠标左键拖动 ctrls保存一下 csv输入配置 Excel输出配置 配置完 …

Spring Web MVC基础第一篇

目录 1.什么是Spring Web MVC&#xff1f; 2.创建Spring Web MVC项目 3.注解使用 3.1RequestMapping&#xff08;路由映射&#xff09; 3.2一般参数传递 3.3RequestParam&#xff08;参数重命名&#xff09; 3.4RequestBody&#xff08;传递JSON数据&#xff09; 3.5Pa…