Linux系统管理(十七)——配置英伟达驱动、Cuda、cudnn、Conda、Pytorch、Pycharm等Python深度学习环境
文章目录
- 前言
- 安装驱动
- 下载安装Cuda
- 编辑环境变量
- 安装Cudnn
- 安装conda
- 验证安装成功
- 配置conda镜像
- 退出conda环境
- 创建python环境
- 查看当前conda环境
- 激活环境
- 安装python包
- 安装pytorch
- 安装pycharm
- 安装jupyter notebook
前言
深度学习和大语言模型的部署不免会用到Linux系统,在本章中将详细介绍配置英伟达驱动、Cuda、cudnn、Conda、Pytorch、Pycharm等Python深度学习环境,为支持深度学习和大语言模型运行提供支持。
安装驱动
查看是否已经安装了驱动
通过以下命令查看是否安装好了驱动
nvidia-smi
如果没有安装驱动,会显示类似信息,我们可以看到不同的ubuntu版本有不同的驱动版本

查看系统版本
lsb_release -a

安装驱动
根据对应的版本,执行安装命令即可
sudo apt install nvidia-utils-550-server
然后重新查看一下显卡信息
nvidia-smi
显示以下信息说明驱动安装成功

下载安装Cuda
首先从官网选取合适的系统
官网地址:https://developer.nvidia.com/cuda-downloads

选好后往下拉依次执行以下命令

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8
sudo apt-get install -y nvidia-open
sudo apt-get install -y cuda-drivers
编辑环境变量
用以下命令打开环境变量
sudo vim ~/.bashrc
在后面添加以下信息
export PATH=/usr/local/cuda-12.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
然后用以下命令更新环境变量
source ~/.bashrc
随后执行以下命令
nvcc -V
如果执行效果如下,说明Cuda安装成功

安装Cudnn
打开官网连接选择合适的版本
官网地址:https://developer.nvidia.com/cudnn


选好后依次执行命令即可

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cudnn
sudo apt-get -y install cudnn-cuda-12
如果有以下提示,可以不用管也可以执行一下,测试下来不影响使用

安装conda
从官网查看符合版本的conda
官网:https://repo.anaconda.com/archive/

下载后来到下载目录,执行以下命令(注意这里需要替换为笔者要安装的版本)
bash Anaconda3-2024.10-1-Linux-x86_64.sh
验证安装成功
执行以下命令
conda --help
如果结果如下图说明安装成功

如果显示不存在conda命令,需要配额外配置一下环境变量
打开注册表
sudo vim ~/.bashrc
添加环境变量
export PATH=~/anaconda3/bin:$PATH
注册表信息立即生效
source ~/.bashrc
配置conda镜像
配置官网的channel地址
conda config --add channels r
conda config --add channels conda-forge
conda config --add channels bioconda
查看配置镜像结果
ls -a

cat ~/.condarc
退出conda环境
由于默认会进入base环境,所以需要先脱出环境才能新创建环境,命令行左侧的(base)就是说明目前所在的环境就是base环境

conda deactivate
如果希望默认不自动进入conda环境
conda config --set auto_activate_base false
创建python环境
用以下命令创建python环境,其中llm是笔者的环境名称,python版本是3.10
conda create -y -n llm python=3.10
查看当前conda环境
conda info -e

可以看到除了base环境外还有新建的llm环境
激活环境
当希望使用新创建的环境时,可以用以下命令激活环境
conda activate llm
如果在命令行前出现(llm)说明激活成功

安装python包
常规的安装直接将pip install改为conda install即可,但尤其注意的是在安装时需要进入到对应的虚拟环境中。如果有些包不支持conda安装,也可以在虚拟环境下使用pip安装。
安装pytorch
pytorch就是属于不支持conda安装的情况
官网:https://pytorch.org/get-started/locally/
同样的在官网选择相对应的版本,可以看到,当选择conda时显示不支持

所以应当换成pip方式安装

通过以下代码激活虚拟环境
conda activate llm
然后安装符合版本的pytorch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
验证是否安装成功可以在命令行输入python3,然后导入torch
import torch
torch.__version__

torch.cuda.is_available()

安装pycharm
进到官网并下载软件
官网链接:https://www.jetbrains.com.cn/pycharm/download/download-thanks.html?platform=linux&code=PCC

切换到文件保存路径解压
tar -zxvf pycharm-community-2024.3.3.tar.gz
然后进入到解压出的文件下
cd pycharm-community-2024.3.3

进入到bin目录下执行pycharm.sh文件
cd bin
./pycharm.sh

根据提示安装即可

可以点击这个图标

然后选择将软件放到桌面上

安装jupyter notebook
conda install jupyter notebook
选好代码所在的路径后,可以使用命令
jupyter notebook
启动jupyter notebook

相关文章:
Linux系统管理(十七)——配置英伟达驱动、Cuda、cudnn、Conda、Pytorch、Pycharm等Python深度学习环境
文章目录 前言安装驱动下载安装Cuda编辑环境变量安装Cudnn安装conda验证安装成功配置conda镜像退出conda环境创建python环境查看当前conda环境激活环境安装python包安装pytorch 安装pycharm安装jupyter notebook 前言 深度学习和大语言模型的部署不免会用到Linux系统ÿ…...
SLAM算法工程师的技术图谱和学习路径
SLAM(Simultaneous Localization and Mapping)算法工程师是负责开发和实现用于机器人、自动驾驶车辆等领域的SLAM算法的专业人士。下面是SLAM算法工程师需要掌握的基础理论知识: 机器人运动学和动力学:理解机器人在空间中的运动方式和控制方法,包括轮式、蜘蛛腿、飞行器等…...
【第三天】零基础学习量化基础代码分析-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 记录量化基础代码总览引言基本概念量化投资 伪代码示例:量化投资模型框架总结 每日-往期回看 第一天零基础学量化基础知识点总览-持续更新 第二天零基础…...
深入了解 Python 中的 MRO(方法解析顺序)
文章目录 深入了解 Python 中的 MRO(方法解析顺序)什么是 MRO?如何计算 MRO?C3 算法的合并规则C3 算法的合并步骤示例:合并过程解析 MRO 解析失败的场景使用 mro() 方法查看 MRO示例 1:基本用法 菱形继承与…...
如何防止 Instagram 账号被盗用:安全设置与注意事项
如何防止 Instagram 账号被盗用:安全设置与注意事项 在这个数字化时代,社交媒体平台如 Instagram 已成为我们日常生活的一部分。然而,随着网络犯罪的增加,保护我们的在线账户安全变得尤为重要。以下是一些关键的安全设置和注意事…...
采样算法二:去噪扩散隐式模型(DDIM)采样算法详解教程
参考 https://arxiv.org/pdf/2010.02502 一、背景与动机 去噪扩散隐式模型(DDIM) 是对DDPM的改进,旨在加速采样过程同时保持生成质量。DDPM虽然生成效果优异,但其采样需迭代数百至数千次,效率较低。DDIM通过以下关键…...
各种类型网络安全竞赛有哪些 网络安全大赛的简称
本文是对入门学习的一些概念了解和一些常规场景记录 1.CTF(capture the flag)是夺旗赛的意思。 是网络安全技术人员之间进行攻防的比赛。 起源1996年DEFCON全球黑客大会,替代之前真实攻击的技术比拼。 (DEFCON极客大会诞生1993,…...
包子凑数——蓝桥杯真题Python
包子凑数 输入输出样例 示例 1 输入 2 4 5输出 6样例说明 凑不出的数目包括:1, 2, 3, 6, 7, 11。 示例 2 输入 2 4 6输出 INF样例说明 所有奇数都凑不出来,所以有无限多个 运行限制 最大运行时间:1s最大运行内存: 256M 最大公约数 最大公…...
网络通信/IP网络划分/子网掩码的概念和使用
文章目录 概述子网的考题子网掩码的历史有/无类地址子网划分!子网掩码超网技术/CIDR子网掩码和路由IP子网掩码定义 网络规划网络规划-拆子网网络规划-组超网子网划分案例 区分于其他特殊IP地址IP地址和网络地址子网掩码和网络地址子网掩码和广播地址 子网间的通信其他 概述 本…...
【前端】简单原生实例合集html,css,js
长期补充,建议关注收藏点赞。 目录 分栏input各种类型iframe表单拖拽 分栏 区分fieldset和framesetframeset是把浏览器窗口分成几个区域,每个区域分别放置一个html文档到对应的frame中,而且这个比例可以按住边栏进行调整col指定左右边栏的宽…...
MySQL--》如何在MySQL中打造高效优化索引
目录 初识索引 索引结构 性能分析 索引使用 最左前缀法则 SQL提示使用 覆盖索引使用 前缀索引使用 索引失效情况 初识索引 索引(index):是帮助MySQL高效获取数据的数据结构(有序),在数据之外数据库系统还维护着满足特定查找算法的数据结构&…...
盛京开源社区加入 GitCode,书写东北开源生态新篇章
在数字化转型与开源技术蓬勃发展的浪潮下,开源社区已成为推动技术创新的核心力量。盛京开源社区(SJOSC)作为沈阳地区的开源交流平台,始终致力于连接开发者、企业及高校,构建区域技术生态圈。 现在,盛京开源…...
HTML转义和反转义工具类
HTML转义和反转义工具类 package com.common.utils;import cn.hutool.http.HTMLFilter; import org.apache.commons.lang3.StringUtils;/*** 转义和反转义工具类** author lxx*/ public class EscapeUtil {public static final String RE_HTML_MARK "(<[^<]*?>…...
网络运维学习笔记(DeepSeek优化版)005网工初级(HCIA-Datacom与CCNA-EI)链路层发现协议与VLAN技术
文章目录 一、链路层发现协议1.1 思科CDP协议1.2 华为LLDP协议 二、VLAN(Virtual Local Area Network,虚拟局域网)技术详解2.1 基本概念2.2 技术特性2.3 接口工作原理2.3.1 Access模式2.3.2 Trunk模式 2.4 厂商配置对比思科配置华为配置 2.5 …...
DeepSeek开源周Day4:三连发!突破 AI 训练瓶颈的立体解决方案,并行计算三剑客DualPipe、EPLB与Profile-data
项目地址: https://github.com/deepseek-ai/DualPipehttps://github.com/deepseek-ai/eplbhttps://github.com/deepseek-ai/profile-data 开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天 (4/5)! 一、背景概述 …...
树莓百度百科更新!宜宾园区业务再添新篇
树莓集团宜宾园区业务不断拓展,主要体现在以下几个方面: 产业布局 -聚焦数字经济核心领域:涵盖软件开发、人工智能、大数据等,吸引众多上下游企业入驻,形成从芯片研发、软件开发到系统集成的完整产业链条。 -推进“双…...
RabbitMQ操作实战
1.RabbitMQ安装 RabbitMQ Windows 安装、配置、使用 - 小白教程-腾讯云开发者社区-腾讯云下载erlang:http://www.erlang.org/downloads/https://cloud.tencent.com/developer/article/2192340 Windows 10安装RabbitMQ及延时消息插件rabbitmq_delayed_message_exch…...
IO 和 NIO 有什么区别?
文章目录 阻塞模式与非阻塞模式数据处理方式通信模型应用场景 阻塞模式与非阻塞模式 IO:是阻塞式的 IO 操作。在传统的 IO 中,当一个线程执行读操作或者写操作时,该线程会被阻塞,直到操作完成。例如,在从文件读取数据…...
OpenWebUI配置异常的外部模型导致页面无法打开
一、使用Ollama关闭OpenAI OpenWebUI自带OpenAI的API设置,且默认是打开的,默认情况下,启动后,会不断的去连https://api.openai.com/v1,但是无法连上,会报错,但是不会影响页面,能正常…...
2025年度福建省职业院校技能大赛高职组“信息安全管理与评估”赛项规程样题模块二
模块二 网络安全事件响应、数字取证调查、应用程序安全 竞赛项目赛题 本文件为信息安全管理与评估项目竞赛-第二阶段样题,内容包括:网络安全事件响应、数字取证调查。 本次比赛时间为90分钟。 介绍 竞赛有固定的开始和结束时间,参赛队伍必须…...
鸿蒙兼容Mapbox地图应用测试
鸿蒙Next已经发布一段时间了,很多之前的移动端地图应用,纷纷都要求适配鸿蒙Next。作为开发者都清楚,所谓的适配其实都是重新开发,鸿蒙的开发语言和纯前端的Javascript不同,也可以Android原始开发的语言不同。鸿蒙自带的…...
java练习(45)
ps:题目来自力扣 两数相除 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断…...
面试之《前端开发者如何优化页面的加载时间?》
前端开发者可以从多个方面入手优化页面的加载时间,以下是一些常见且有效的方法: 优化资源加载 压缩资源文件:对 HTML、CSS、JavaScript 文件进行压缩,去除不必要的空格、注释等,减小文件体积,加快下载速度…...
部署Flink1.20.1
1、设置环境变量 export JAVA_HOME/cluster/jdk export CLASSPATH.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarp #export HIVE_HOME/cluster/hive export MYSQL_HOME/cluster/mysql export HADOOP_HOME/cluster/hadoop3 export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop …...
iOS自归因详细介绍
iOS自归因详细介绍 自归因(Self-Attribution)是指应用或广告平台通过分析用户行为数据,确定用户安装应用的来源渠道。在iOS生态中,由于隐私政策的限制(如App Tracking Transparency,ATT)&#…...
影视后期工具学习之PR
pr剪辑之旅 第一节课 入门基础知识 1.了解影视基础术语 2.PR面板&首选项设置 首选项需要设置的选项: 自动保存: 修剪: 媒体: 媒体缓存: 经典面板设置,可以根据个人喜好做出改变: 3.展示与准备工作 新建序列:1.横板序列 2.竖版序列:</...
浏览器JS打不上断点,一点就跳到其他文件里。浏览器控制台 js打断点,指定的位置打不上断点,一打就跳到其他地方了。
关闭JavaScript 源代码映射,F12开发者模式 设置->偏好设置->源代码/来源->JavaScript 源代码映射。 肯定不是这个原因导致的,但这个办法可以暂时解决问题,点完这个东西就隐藏了webpack,有懂的来讲讲。 又浪费一个小时…...
XXE漏洞:原理、危害与修复方法详解
目录 一、XXE漏洞概述二、XXE漏洞原理三、XXE漏洞危害1. 任意文件读取2. 命令执行3. 拒绝服务攻击(DoS)4. SSRF攻击四、XXE漏洞修复方法1. 禁用外部实体JavaPythonPHP2. 输入验证和过滤3. 安全配置服务器4. 升级解析器版本五、总结一、XXE漏洞概述 XXE(XML External Entity…...
C#与AI的交互(以DeepSeek为例)
C#与ai的交互 与AI的交互使用的Http请求的方式,通过发送请求,服务器响应ai生成的文本 下面是完整的代码,我这里使用的是Ollama本地部署的deepseek,在联网调用api时,则url会有不同 public class OllamaRequester {[Se…...
Qt——使用QtConcurrent::run开启的线程,程序退出后仍在后台运行的解决方法(QFutureWatcher监视线程)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实...
