Ubuntu22.04系统安装Anaconda、CUDA和CUDNN

之前一直在Windows系统下使用Anaconda和CUDA加速,最近需要复现一个算法,文档里面有Linux系统conda构建环境的教程。
本篇博文参考博文,记录自己安装的过程,便于以后需要。

目录

  • 1.Anaconda
    • 1.1 安装包下载
    • 1.2 安装软件
    • 1.3 更新conda配置
      • 解决:更新conda失败
    • 1.4 创建Anaconda桌面快捷方式
  • 2.CUDA
    • 2.1 确认安装版本
    • 2.2 安装过程
    • 2.3 配置环境变量
  • 3.CUDNN
    • 3.1 下载安装包
    • 3.2 安装CUDNN
    • 3.3 验证是否安装成功

  • 系统
Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 19:18:46 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

1.Anaconda

1.1 安装包下载

  • 安装包下载,这里我下载的是 Anaconda3-2023.09-0-Linux-x86_64.sh

官网:https://www.anaconda.com/download
如果速度慢可以去镜像网站下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

1.2 安装软件

  • 进入存放下载好文件的文件夹,终端输入:
bash Anaconda3-2023.09-0-Linux-x86_64.sh
  • 一直按回车,直到出现如下页面 Do you accept the license terms,再输入 yes
    在这里插入图片描述- 之后再按回车,会确认Anaconda的安装路径,注意看下路径是否正确,输入 yes
    在这里插入图片描述- 然后会确认是否需要写入环境变量,输入 yes
    在这里插入图片描述- 最后会提示安装成功

1.3 更新conda配置

  • 重新打开一个终端,输入:
source ~/.bashrc
conda update --all

解决:更新conda失败

  • PS:如果上面的指令执行没有报错这步直接跳过。
    如果 conda update --all失败了,需要换源,可以先看下当前有哪些源
# 显示当前配置的所有源(channels)
conda config --show channels

将更新失败的源移除,并添加新的源,比如:

$ conda config --show channels
channels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- https://pypi.douban.com/anaconda/cloud/conda-forge/- defaults# 上面这个douban源总是超时失败,可以移除
conda config --remove https://pypi.douban.com/anaconda/cloud/conda-forge/# 添加一个新的源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/# 显示当前配置的所有源(channels)
$ conda config --show channels
channels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults

1.4 创建Anaconda桌面快捷方式

  • 创建anaconda.desktop
sudo gedit /usr/share/applications/anaconda.desktop
  • 将以下配置复制到打开的anaconda.desktop文件中
    PS:注意Exec(一般是anaconda3文件夹bin目录下)和Icon(桌面图标)需要填当前设备上的anaconda位置。
[Desktop Entry]
Name=Anaconda
Type=Application
Exec=/home/zzw/anaconda3/bin/anaconda-navigator
Icon=/home/zzw/anaconda3/pkgs/anaconda-navigator-2.5.0-py311h06a4308_0/lib/python3.11/site-packages/anaconda_navigator/static/images/anaconda-icon-256x256.png
Terminal=false
Categories=development;
StartupNotify=true
  • 保存文件后就可以看到Anaconda的快捷方式
    在这里插入图片描述

2.CUDA

2.1 确认安装版本

  • 首先查看自己设备可支持的最高CUDA版本,终端输入:
    可以看到最高是12.2版本,由于复现的算法中用到的CUDA版本是11.8,为了保持一致防止出现别的奇形怪状bug,这里我安装的也是CUDA11.8
$ nvidia-smiSun Feb 23 21:06:35 2025       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3060 ...    Off | 00000000:01:00.0 Off |                  N/A |
| N/A   56C    P0              N/A / 115W |      8MiB /  6144MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      3542      G   /usr/lib/xorg/Xorg                            4MiB |
+---------------------------------------------------------------------------------------+

2.2 安装过程

  • 去Pytorch官网查看安装指令:https://pytorch.org/
    (由于没有提供conda的安装方式,这里选择用pip安装)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

在这里插入图片描述在这里插入图片描述- 下载CUDA,官网:https://developer.nvidia.com/cuda-toolkit-archive,这里选择11.8
在这里插入图片描述- 打开终端,按下面输入

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

在这里插入图片描述- 安装过程
出现这个页面,选择 continue
在这里插入图片描述出现这个页面,输入 accept
在这里插入图片描述出现这个页面,在Driver处按空格键取消选中(因为已经有显卡驱动了),然后下移到install,按回车键
在这里插入图片描述在这里插入图片描述- 安装完成
在这里插入图片描述

2.3 配置环境变量

sudo gedit ~/.bashrc
  • 在最后添加如下两行并保存:(注意CUDA版本)
export PATH=/usr/local/cuda-11.8/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:${LD_LIBRARY_PATH} 
  • 更新配置,查看是否安装成功
$ source ~/.bashrc
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

3.CUDNN

3.1 下载安装包

  • CUDNN官网:https://developer.nvidia.com/rdp/cudnn-archive
  • 这里我选择的是8.7.0
    在这里插入图片描述

3.2 安装CUDNN

  • 下载完成后,找到cudnn所在文件夹,打开终端,安装zliblg,输入
sudo apt-get install zlib1g
  • 安装cudnn
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.7.0.84_1.0-1_amd64.debsudo cp /var/cudnn-local-repo-ubuntu2204-8.7.0.84/cudnn-local-BF23AD8A-keyring.gpg /usr/share/keyrings/sudo apt-get update# 先查看里面libcudnn8文件对应的版本是什么,手动更改相对应的版本即可
cd /var/cudnn*

比如我下面这个显示的版本是libcudnn8=8.7.0.84-1+cuda11.8

sudo apt-get install libcudnn8=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8-dev=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8-samples=8.7.0.84-1+cuda11.8

在这里插入图片描述

3.3 验证是否安装成功

  • 拷贝CUDNN的一个示例,编译看下是否可以正常运行
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd  $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make

在这里插入图片描述- 上面报错了,安装libfreeimage3 libfreeimage-dev

sudo apt-get install libfreeimage3 libfreeimage-dev
  • 重新编译后(make clean && make)不再报错,输入
./mnistCUDNN

成功完成安装cudnn
在这里插入图片描述

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

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

相关文章

微信小程序调用火山方舟(字节跳动火山引擎)中的DeepSeek大模型

一、注册火山引擎账号,创建API Key和model(接入点ID) 1.注册并登陆火山引擎账号,网址为:https://console.volcengine.com/ 2.根据登陆后的页面提示进行实名认证,实名认证后才能创建API Keyt和创建接入点。…

蓝桥杯之日期题

文章目录 1.蓝桥杯必备知识点2. 题型13.需求2 1.蓝桥杯必备知识点 蓝桥杯是一个面向全国高校计算机相关专业学生的学科竞赛,涵盖多个赛道,常见的有软件类(如 C/C 程序设计、Java 软件开发、Python 程序设计)和电子类(…

muduo网络库2

Muduo网络库:底层实质上为Linux的epoll pthread线程池,且依赖boost库。 muduo的网络设计核心为一个线程一个事件循环,有一个main Reactor负载accept连接,然后把连接分发到某个sub Reactor(采用轮询的方式来选择sub Reactor)&…

WinSCP 连接到 Ubuntu 虚拟机

要使用 WinSCP 连接到 Ubuntu 虚拟机,一般采用 SFTP 或 SCP 协议进行文件传输。以下是详细步骤: 1. 确保虚拟机网络可访问 首先,你的 Ubuntu 虚拟机需要允许外部访问: 如果使用 NAT 网络:需要设置端口转发&#xff0…

redis小记

redis小记 下载redis sudo apt-get install redis-server redis基本命令 ubuntu16下的redis没有protected-mode属性,就算sudo启动,也不能往/var/spool/cron/crontabs写计划任务,感觉很安全 #连接到redis redis-cli -h 127.0.0.1 -p 6379 …

Docker核心概念

容器介绍 Docker 是世界领先的软件容器平台,所以想要搞懂 Docker 的概念我们必须先从容器开始说起。 什么是容器? 先来看看容器较为官方的解释 一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。 容器镜像是轻量…

阿里云可观测全面拥抱 OpenTelemetry 社区

作者:古琦 在云计算、微服务、容器化等技术重塑 IT 架构的今天,系统复杂度呈指数级增长。在此背景下,开源可观测性技术已从辅助工具演变为现代 IT 系统的"数字神经系统",为企业提供故障预警、性能优化和成本治理的全方…

2025年2月科技热点深度解析:AI竞赛、量子突破与开源革命

引言 2025年的科技领域持续呈现爆发式增长,AI大模型竞争白热化、量子计算商业化加速、开源工具生态繁荣成为本月最受关注的议题。本文结合最新行业动态,从技术突破、商业布局到开发者生态,全面解析当前科技热点,为读者提供深度洞…

idea创建第一个springboot程序

说明: 我计划用idea,创建第一个springboot程序,但是作为新手完全不会弄,今天我就亲自尝试一边,并且出一期详细,完美的教程,亲测可以运行 step1. 点击file , 选new, 选…

半导体芯片制造中 W CVD(钨化学气相沉积)

半导体芯片制造中 W CVD(钨化学气相沉积) 的 Nucleation 解析 在钨(W)化学气相沉积(CVD)工艺中,Nucleation(成核) 是沉积过程的初始阶段,指钨原子或分子在基…

Three.js 入门(辅助、位移、父子关系、缩放旋转、响应式布局)

本篇主要学习内容 : 三维坐标系与辅助坐标系物体位移与父子元素物体的缩放与物体的旋转设置响应式画布与全屏控制 点赞 关注 收藏 学会了 本文使用 Three.js 的版本:171 基于 Vue3vite开发调试 1.三维坐标系与辅助坐标系 1.1) 导入three和轨道控制器 // 导入…

一键导出数据库表到Excel

工作中,我们经常需要将数据库表导出到Excel,通常我们会用数据库编辑器之类的工具提供的导出功能来导出,但是它们的导出功能通常都比较简单。 这篇文章将介绍一种简单易用并且功能强大的导出方法。 新增导出 打开的卢导表工具,新…

CSS滚动条原理与自定义样式指南,CSS滚动条样式失效,滚动条样式无效,-webkit-scrollbar无效,overflow不显示滚动条

滚动内容形成的必要条件 CSS Overflow属性解析 MDN官方文档-Overflow属性 菜鸟教程-Overflow属性 overflow 属性控制内容溢出元素框时在对应的元素区间内是否添加滚动条。 值描述visible默认值。内容不会被修剪,会呈现在元素框之外。hidden内容会被修剪&#xf…

【LLM】本地部署LLM大语言模型+可视化交互聊天,附常见本地部署硬件要求(以Ollama+OpenWebUI部署DeepSeekR1为例)

【LLM】本地部署LLM大语言模型可视化交互聊天,附常见本地部署硬件要求(以OllamaOpenWebUI部署DeepSeekR1为例) 文章目录 1、本地部署LLM(以Ollama为例)2、本地LLM交互界面(以OpenWebUI为例)3、本…

温湿度监控设备融入智慧物联网

当医院的温湿度监控设备融入智慧物联网,将会带来许多新的体验,可以帮助医院温湿度监控设备智能化管理,实现设备之间的互联互通,方便医院对温湿度数据进行统一管理和分析。 添加智慧物联网技术,实现对医院温湿度的实时…

在ubuntu如何安装samba软件?

我们在开发过程中,经常修改代码,可以安装samba文件来实现,把ubuntu的存储空间指定为我们win上的一个磁盘,然后我们在或者磁盘里面创建.c文件,进行代码修改和编写。samba能将linux的文件目录直接映射到windows&#xff…

[ComfyUI]官方已支持Skyreels混元图生视频,速度更快,效果更好(附工作流)

一、介绍 昨天有提到官方已经支持了Skyreels,皆大欢喜,效果更好一些,还有GGUF量化版本,进一步降低了大家的显存消耗。 今天就来分享一下官方流怎么搭建,我体验下来感觉更稳了一些,生成速度也更快&#xf…

B站pwn教程笔记-3

栈知识、部分保护措施 GDB显示的栈地址有时候并不是可靠的地址,gdb也是用特殊的进程映像来拿地址的。且gdb默认关闭栈地址随机化。但是,偏移量是没有错误的。目前还没学到咋解决 第一个栈帧是main函数栈帧,之前的一些系统函数什么的没有栈帧…

Qt在Linux嵌入式开发过程中复杂界面滑动时卡顿掉帧问题分析及解决方案

Qt在Linux嵌入式设备开发过程中,由于配置较低,加上没有GPU,我们有时候会遇到有些组件比较多的复杂界面,在滑动时会出现掉帧或卡顿的问题。要讲明白这个问题还得从CPU和GPU的分工说起。 一、硬件层面核心问题根源剖析 CPU&#x…

Spring Boot 项目中,JDK 动态代理和 CGLIB 动态代理的使用

在 Spring Boot 项目中,JDK 动态代理和 CGLIB 动态代理都是实现 AOP (面向切面编程) 的重要技术。 它们的主要区别在于代理对象的生成方式和适用范围。 下面详细介绍它们的使用场景: 1. JDK 动态代理 (JDK Dynamic Proxy) 原理: JDK 动态代理…