news 2026/9/30 3:33:42

Ubuntu深度学习环境:TensorFlow与PyTorch GPU安装避坑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu深度学习环境:TensorFlow与PyTorch GPU安装避坑

Ubuntu配置深度学习环境(TensorFlow和PyTorch)这件事,我前后在实验室、公司和自己的笔记本上折腾过不下二十次。有人觉得不就是几条pip命令吗,真正上手才发现:显卡驱动、CUDA、cuDNN、conda、pip、TensorFlow、PyTorch,每一层都可能互相卡版本。这篇文章不打算只给你一串命令,而是把我在Ubuntu 20.04、22.04、24.04上反复验证过的流程、版本选择和排错经验完整摊开。无论你是刚装完Ubuntu系统,准备搭第一套PyTorch环境,还是想让TensorFlow和PyTorch在同一台机器上共存,都能按这里的步骤直接抄作业。虚拟机、双系统、WSL、Docker这些场景也会顺带讲清楚,避免你在一个坑里反复重装。

1. 先想清楚:Ubuntu配置深度学习环境到底在配什么

1.1 驱动、CUDA、cuDNN、框架四层关系

很多人一上来就搜“PyTorch安装教程GPU”,结果命令执行完发现torch.cuda.is_available()返回False,于是开始怀疑人生。问题通常不在PyTorch本身,而在下面这四层没有对齐。

第一层是NVIDIA显卡驱动。它负责让Ubuntu认到显卡,nvidia-smi能跑起来是底线。驱动版本决定了你的机器最高能支持到哪个CUDA运行时版本。注意,nvidia-smi右上角显示的“CUDA Version”是驱动支持的最高版本,不是你系统里已经安装的CUDA版本。这一点我见过太多人误解。

第二层是CUDA Toolkit。严格说,PyTorch的pip wheel和conda包通常会自带所需的CUDA运行时,不一定依赖系统级CUDA。但TensorFlow 2.x的GPU版大多需要系统里安装匹配的CUDA和cuDNN。所以如果你只玩PyTorch,系统CUDA可以少折腾;如果TensorFlow也要GPU,系统CUDA和cuDNN就得认真装。

第三层是cuDNN。这是NVIDIA的深度学习加速库,TensorFlow对它的版本非常敏感。cuDNN版本不对,典型报错就是Could not load dynamic library 'libcudnn.so.8',或者GPU识别不到。

第四层才是TensorFlow和PyTorch。它们各自对Python版本、CUDA版本、cuDNN版本有要求。我的经验是:先确定框架版本,再倒推CUDA和cuDNN,最后看驱动够不够。顺序反了,就会陷入“驱动装了最新版,结果TensorFlow不支持”的尴尬。

1.2 为什么我建议用Miniconda做隔离

裸pip安装不是不行,但我不推荐。原因很简单:TensorFlow和PyTorch对依赖版本的要求经常打架。比如某个项目需要TensorFlow 2.15,另一个项目需要PyTorch 2.1,它们可能依赖不同版本的NumPy、protobuf、typing-extensions。你在系统Python里混装,迟早会遇到“装完PyTorch,TensorFlow坏了”的情况。

Miniconda的好处是环境隔离。你可以给TensorFlow建一个环境,给PyTorch建另一个环境,互不干扰。需要哪个就conda activate哪个,切换成本很低。Anaconda当然也可以,但它预装了大量用不到的包,体积大、下载慢。Miniconda更干净,适合自己从零搭深度学习环境。

另外,conda不仅能管Python包,还能管CUDA Toolkit、cuDNN这类非Python依赖。比如conda install pytorch-cuda=12.1会帮你把匹配的CUDA运行时装进环境里,省去手动配置LD_LIBRARY_PATH的麻烦。当然,pip安装PyTorch也很成熟,后面我会对比两种方式。

1.3 版本选择:先定框架,再定CUDA,最后看驱动

下面这张表是我根据常见稳定组合整理的,实际安装时以TensorFlow和PyTorch官网为准。注意,我刻意避开“最新版一定最好”的思路,因为深度学习框架的新版本经常刚发布就有一堆兼容问题。

框架版本推荐PythonCUDA要求cuDNN要求备注
PyTorch 2.1+3.9-3.11cu118/cu121/cu124wheel自带pip安装最省心
TensorFlow 2.153.9-3.11CUDA 12.2cuDNN 8.9GPU支持需要系统CUDA
TensorFlow 2.143.9-3.11CUDA 11.8cuDNN 8.7较常见组合
TensorFlow 2.133.8-3.11CUDA 11.8cuDNN 8.6老项目常用
TensorFlow 2.123.8-3.11CUDA 11.8cuDNN 8.6兼容性不错
TensorFlow 2.103.7-3.10CUDA 11.2cuDNN 8.1旧卡可考虑

选择逻辑:如果你的显卡驱动比较新,nvidia-smi显示支持CUDA 12.4,那你可以装PyTorch的cu124版本,也可以装TensorFlow 2.15要求的CUDA 12.2。但如果驱动只支持到CUDA 11.8,就别硬上TensorFlow 2.15的CUDA 12.2,要么升级驱动,要么降TensorFlow版本。

1.4 装之前先确认这五件事

动手之前,我习惯先跑一遍检查清单,能省掉很多返工。

  • 显卡型号:lspci | grep -i nvidia,确认是NVIDIA卡,不是AMD或Intel核显。
  • 系统版本:lsb_release -a,Ubuntu 20.04、22.04、24.04都行,但驱动安装命令略有差异。
  • 内核版本:uname -r,某些新内核和旧驱动不兼容。
  • 是否开启Secure Boot:mokutil --sb-state,开启后安装第三方驱动需要设置MOK密码。
  • 磁盘空间:df -h,深度学习环境加上数据集,建议至少留50GB。

这五件事确认完,再开始装驱动。不要一边装驱动一边装框架,出问题很难定位。

2. Ubuntu系统准备:从裸机到能跑nvidia-smi

2.1 系统版本与基础更新

如果你刚装完Ubuntu,第一件事是更新软件源。我一般用清华或阿里云镜像,速度比默认源快很多。编辑/etc/apt/sources.list,把archive.ubuntu.com和security.ubuntu.com替换成镜像地址。Ubuntu 22.04之后的版本,源文件可能在/etc/apt/sources.list.d/ubuntu.sources,格式是deb822,改的时候注意语法。

更新命令:

sudo apt update sudo apt upgrade -y sudo apt install build-essential cmake git wget curl vim -y

build-essential包含gcc、g++、make,很多Python包编译时需要。cmake版本问题后面会讲,先用apt装一个够用的版本。如果你遇到ubuntu安装gcc失败,大概率是源没配好或者依赖冲突,先sudo apt update再sudo apt install --fix-broken。

Ubuntu 24.04默认Python是3.12,有些老框架还不支持。如果要用TensorFlow 2.15,建议用Miniconda装Python 3.10或3.11。不要试图降级系统Python,会搞坏系统工具。

2.2 安装NVIDIA驱动:ubuntu-drivers和手动安装的取舍

Ubuntu装NVIDIA驱动有两种主流方式:apt/ubuntu-drivers和NVIDIA官方runfile。我90%的情况推荐第一种,省事、和内核更新配合好。

先查看推荐驱动:

sudo apt update sudo apt install ubuntu-drivers-common -y ubuntu-drivers devices

输出里会列出driver: nvidia-driver-535 - third-party free recommended之类的信息。推荐版本通常是经过Ubuntu测试的。直接自动安装:

sudo ubuntu-drivers autoinstall

或者指定版本:

sudo apt install nvidia-driver-535 -y

安装完必须重启:

sudo reboot

重启后运行nvidia-smi,如果看到显卡型号、驱动版本、显存占用,说明驱动OK。

什么时候用手动runfile?通常是apt源里的驱动太旧,或者你需要特定版本。手动安装前要禁用nouveau,否则会冲突。步骤:

sudo bash -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf" sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf" sudo update-initramfs -u sudo reboot

重启后按Ctrl+Alt+F3进入文本模式,关闭图形界面:

sudo systemctl stop gdm3

然后运行NVIDIA驱动安装包,按提示走。手动安装的坑在于:每次内核升级后可能需要重装驱动,Secure Boot开启时还要签名。所以除非有特殊需求,优先用apt。

2.3 验证驱动与nouveau处理

nvidia-smi能跑不代表CUDA可用。继续检查:

nvidia-smi nvcc --version

如果nvcc找不到,说明没装CUDA Toolkit。只玩PyTorch的话,可以先不装系统CUDA。但TensorFlow GPU需要,后面再装。

检查nouveau是否真的禁用:

lsmod | grep nouveau

没有输出就是禁用了。如果有输出,说明黑名单没生效,检查/etc/modprobe.d/下的配置文件,再sudo update-initramfs -u并重启。

注意:如果你用的是Ubuntu 22.04/24.04,Secure Boot开启时,apt安装驱动会弹出MOK管理界面,让你设置密码。重启后会出现蓝色界面,选择Enroll MOK,输入密码。这一步不完成,驱动不会加载,nvidia-smi会报“No devices were found”。

2.4 周边配置:SSH、中文输入法、Docker按需处理

这些不是深度学习环境的核心,但实际用起来少不了。

SSH:如果你用Xshell或VSCode Remote连接Ubuntu,先装openssh-server:

sudo apt install openssh-server -y sudo systemctl enable ssh sudo systemctl start ssh

如果连不上,检查sudo ufw status,放行22端口:sudo ufw allow 22。还要确认IP地址:ip addr。虚拟机的话,网络模式选桥接或NAT,NAT需要端口转发。

中文输入法:Ubuntu默认有IBus,可以装拼音。如果习惯搜狗,去搜狗输入法官网下载Linux版deb包,然后sudo dpkg -i sogoupinyin.deb,缺依赖就sudo apt install -f。不过搜狗在Ubuntu 24.04上偶尔有兼容问题,我現在更多用IBus智能拼音或Fcitx5。

Docker:如果你要用容器跑深度学习,装Docker和NVIDIA Container Toolkit:

sudo apt install docker.io -y sudo systemctl enable docker sudo systemctl start docker sudo usermod -aG docker $USER

NVIDIA Container Toolkit需要添加官方仓库,然后sudo apt install nvidia-container-toolkit,重启Docker。这样docker run --gpus all才能用显卡。

虚拟机场景:VMware或VirtualBox装Ubuntu,通常无法直通NVIDIA显卡,只能跑CPU版PyTorch和TensorFlow。如果你只是学习语法、跑小模型,CPU版够用。要用GPU,建议双系统或物理机。

3. Miniconda与Python环境:让TensorFlow和PyTorch各自独立

3.1 安装Miniconda并配置镜像源

下载Miniconda:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh

安装过程中会问安装路径,默认~/miniconda3就行。安装完激活:

source ~/.bashrc conda --version

如果conda命令找不到,手动初始化:

~/miniconda3/bin/conda init bash source ~/.bashrc

配置国内镜像源,加快下载速度:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --set show_channel_urls yes

要注意,PyTorch的官方conda channel有时不在镜像里同步,安装PyTorch时可能需要临时指定-c pytorch。如果镜像源里找不到某个包,可以换回默认源,或者用pip安装。

3.2 创建独立环境与Python版本选择

给PyTorch建一个环境:

conda create -n pytorch_env python=3.10 -y conda activate pytorch_env

给TensorFlow建另一个:

conda create -n tf_env python=3.10 -y conda activate tf_env

Python版本怎么选?我的建议:

  • PyTorch 2.x:Python 3.9、3.10、3.11都行,3.10最省心。
  • TensorFlow 2.15:支持3.9-3.11,选3.10。
  • 老项目TensorFlow 2.10:支持3.7-3.10,选3.8或3.9。

不要选太新的Python,比如3.12,很多包还没出wheel,pip会尝试源码编译,容易失败。也不要选太老的,新框架不支持。

3.3 conda和pip混用原则

这是重灾区。我的原则是:一个环境里,能用conda就用conda,不能用再用pip,并且记录安装顺序。不要交替反复装同一个包。

比如PyTorch,可以用conda装:

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

也可以用pip装:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

两种方式都可以,但不要先conda装一半,再用pip覆盖。如果你已经pip装了,发现有问题,最干净的做法是删掉环境重建:

conda deactivate conda env remove -n pytorch_env conda create -n pytorch_env python=3.10 -y

另外,pip安装时尽量加--index-url指定官方wheel源,不要用乱七八糟的第三方源,避免版本不对。如果网络慢,可以临时用清华PyPI镜像,但PyTorch的CUDA wheel通常在I/O官方源,镜像可能不全。

3.4 环境导出与迁移

环境配好后,导出依赖清单:

conda env export > environment.yml

但environment.yml里会包含本地路径和精确版本,换机器可能装不上。我更推荐导出pip清单:

pip freeze > requirements.txt

迁移时,在新机器创建空环境,然后:

pip install -r requirements.txt

注意,PyTorch的CUDA版本可能因机器驱动不同而需要调整,所以requirements.txt里最好只写torch==2.1.0,不写+cu121后缀,安装时再根据驱动选wheel。

4. PyTorch安装实操:GPU版、CPU版和验证方法

4.1 查驱动、查CUDA、查PyTorch官网命令

先跑nvidia-smi,看右上角CUDA Version。比如显示12.4,说明驱动支持到CUDA 12.4。你可以装cu121或cu124的PyTorch。如果显示11.8,就装cu118。

去PyTorch官网,选择对应的OS、Package、Language、Compute Platform,它会生成安装命令。比如Linux、pip、Python、CUDA 12.1:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

CPU版:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

conda版:

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

我实测下来,pip安装PyTorch更简单,因为wheel自带CUDA运行时,不依赖系统CUDA。conda安装有时会解析依赖很久,但好处是能统一管理。如果你只玩PyTorch,推荐pip。

4.2 conda安装与pip安装的实测对比

方式优点缺点适用场景
pip速度快,wheel自带CUDA不管理非Python依赖大多数PyTorch用户
conda依赖统一,可管CUDA解析慢,镜像可能不同步需要环境完全隔离
源码编译可定制耗时长,易失败特殊硬件或研究需求

我自己的选择:PyTorch用pip,TensorFlow用pip+系统CUDA。这样两个环境互不干扰,PyTorch升级也方便。

安装完成后,记录版本:

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

4.3 安装后必须做的三项验证

第一项,检查CUDA是否可用:

import torch print(torch.__version__) print(torch.cuda.is_available()) print(torch.cuda.device_count()) print(torch.cuda.get_device_name(0))

如果is_available()返回False,先别急着重装。检查:驱动是否装好,nvidia-smi是否正常,PyTorch版本是否CPU版。如果你装的是CPU wheel,那当然不支持CUDA。

第二项,跑一个张量运算:

import torch x = torch.randn(3, 3).cuda() y = torch.randn(3, 3).cuda() z = x @ y print(z)

能输出结果,说明GPU计算链路通了。

第三项,测一个小网络:

import torch import torch.nn as nn model = nn.Sequential( nn.Linear(10, 64), nn.ReLU(), nn.Linear(64, 1) ).cuda() x = torch.randn(32, 10).cuda() y = model(x) print(y.shape)

这一步能跑通,基本可以开始做PyTorch实战了,比如图像分类、Transformer训练、TD3强化学习代码。

4.4 PyTorch常见报错与处理

报错:AssertionError: Torch not compiled with CUDA enabled说明你装的是CPU版。卸载重装GPU版:

pip uninstall torch torchvision torchaudio -y pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

报错:CUDA out of memory显存不够。减小batch size,用torch.cuda.empty_cache()清理缓存,或者用梯度累积。如果是多卡,检查是否默认占用了0号卡。

报错:RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED通常是cuDNN版本和PyTorch不匹配。pip wheel自带的cuDNN一般没问题,如果你手动装过系统cuDNN,可能冲突。建议在干净conda环境里用pip重装。

报错:nvidia-smi has failed because it couldn't communicate with the NVIDIA driver驱动掉了。可能内核更新后驱动没重新编译。重启试试,不行就重装驱动。

5. TensorFlow安装实操:2.x版本的GPU支持与兼容坑

5.1 TensorFlow与CUDA/cuDNN对应关系

TensorFlow 2.x的GPU支持比PyTorch麻烦,因为它依赖系统级CUDA和cuDNN。你必须严格按照官方对应表来。比如TensorFlow 2.15需要CUDA 12.2和cuDNN 8.9。如果你系统装的是CUDA 11.8,就装TensorFlow 2.14或2.13。

安装系统CUDA Toolkit,推荐用NVIDIA官方apt仓库:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update sudo apt install cuda-toolkit-12-2 -y

安装cuDNN:

sudo apt install libcudnn8=8.9.* libcudnn8-dev=8.9.* -y

如果apt里找不到精确版本,可以去NVIDIA官网下载对应版本的tar包,解压后复制到CUDA目录。配置环境变量:

echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc

验证:

nvcc --version

5.2 pip安装TensorFlow的完整步骤

创建TensorFlow环境:

conda create -n tf_env python=3.10 -y conda activate tf_env

安装TensorFlow:

pip install tensorflow==2.15.0

如果你不需要GPU,直接pip install tensorflow就行。如果需要GPU,确保系统CUDA和cuDNN版本匹配。安装完成后,TensorFlow不会自动把所有GPU库都找到,有时需要手动设置:

export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:/usr/local/cuda-12.2/extras/CUPTI/lib64:$LD_LIBRARY_PATH

cuDNN的库路径也要加进去,如果装在/usr/lib/x86_64-linux-gnu,通常已经在默认路径里。

5.3 验证GPU是否被识别

import tensorflow as tf print(tf.__version__) print(tf.config.list_physical_devices('GPU'))

如果输出[],说明没识别到GPU。检查:

  • nvidia-smi是否正常。
  • CUDA版本是否匹配。
  • cuDNN版本是否匹配。
  • LD_LIBRARY_PATH是否包含CUDA和cuDNN路径。

还可以跑一个矩阵乘法:

import tensorflow as tf with tf.device('/GPU:0'): a = tf.random.normal([1000, 1000]) b = tf.random.normal([1000, 1000]) c = tf.matmul(a, b) print(c.shape)

如果报错Could not create cudnn handle,多半是cuDNN版本不对。TensorFlow对cuDNN非常挑,差一个小版本都可能失败。

5.4 TensorFlow和PyTorch共存的冲突处理

共存的核心是环境隔离。我给TensorFlow和PyTorch分别建conda环境,用的时候切换。系统级只装一份NVIDIA驱动,CUDA Toolkit可以装多个版本,通过LD_LIBRARY_PATH切换,或者让TensorFlow环境用系统CUDA,PyTorch环境用自带CUDA。

如果你非要在同一个环境里同时装TensorFlow和PyTorch,要注意:

  • 先装TensorFlow,再装PyTorch,避免pip依赖冲突。
  • 不要同时用conda和pip反复覆盖。
  • 如果NumPy版本冲突,优先满足TensorFlow,因为TensorFlow对NumPy上限要求更严。
  • protobuf版本也容易冲突,TensorFlow 2.15要求protobuf>=3.20,<5,PyTorch一般兼容。

我的建议还是分开。两个环境加起来也就几百MB,比调试冲突省时间。

6. 常见问题排查速查表与避坑心得

6.1 问题速查表

问题可能原因解决方法
nvidia-smi命令找不到驱动未安装ubuntu-drivers autoinstall后重启
nvidia-smi无设备Secure Boot未签名、nouveau冲突完成MOK注册,禁用nouveau
torch.cuda.is_available()False装了CPU版、驱动异常重装GPU版PyTorch,检查驱动
TensorFlow不识别GPUCUDA/cuDNN版本不匹配按官方对应表安装
libcudnn.so.8找不到cuDNN未装或路径不对安装cuDNN,配置LD_LIBRARY_PATH
conda安装慢默认源慢配置国内镜像源
pip安装超时网络问题换镜像源,或重试
SSH无法连接未装openssh-server、防火墙安装ssh,放行22端口
Ubuntu环境变量配置错误.bashrc重复追加清理.bashrc,重新source
gcc安装失败依赖冲突、源问题apt update && apt install -f
cmake版本低apt版本旧用pip安装或源码编译
Docker无法用GPU未装nvidia-container-toolkit安装并重启Docker

6.2 虚拟机、双系统、WSL场景的区别

VMware虚拟机安装Ubuntu:默认无法直通NVIDIA显卡,只能CPU版。如果你只是学PyTorch张量基础,CPU够用。要GPU,需要VMware支持显卡直通,但配置复杂,笔记本上经常失败。

双系统安装Ubuntu:能直接用物理显卡,性能最好。注意安装时给Ubuntu留足空间,至少100GB。驱动和Windows可以共存,但Windows快速启动可能影响Ubuntu挂载NTFS分区。

WSL2:Windows下用WSL2跑Ubuntu,可以支持CUDA,但需要Windows装NVIDIA驱动,WSL里不要装驱动。PyTorch和TensorFlow都能用GPU,性能接近原生。适合不想折腾双系统的用户。

Docker:适合环境隔离和部署。用nvidia-container-toolkit后,容器里也能用GPU。镜像可以基于nvidia/cuda或pytorch/pytorch。

6.3 环境变量、gcc、cmake等周边问题

环境变量配置错误:最常见的是~/.bashrc里重复追加export PATH,导致PATH越来越长。解决方法是手动编辑~/.bashrc,删掉重复行,然后source ~/.bashrc。可以用echo $PATH检查。

gcc版本:Ubuntu 22.04默认gcc 11,24.04默认gcc 13。有些老代码需要gcc 9,可以sudo apt install gcc-9 g++-9,然后用update-alternatives切换。不过深度学习框架现在对gcc要求不严,用默认的就行。

cmake版本:apt装的cmake可能比较旧。如果某个库要求cmake 3.20+,可以用pip装:

pip install cmake --upgrade

或者去cmake官网下载二进制包,解压后把bin目录加入PATH。

CUDA多版本切换:如果你装了CUDA 11.8和12.2,可以通过软链接切换:

sudo rm -rf /usr/local/cuda sudo ln -s /usr/local/cuda-12.2 /usr/local/cuda

但更推荐用环境变量控制,避免影响其他用户。

6.4 我的几条实操心得

第一条,装驱动前先看主板BIOS。有些笔记本默认开启Secure Boot,导致驱动装不上。如果不想处理MOK,可以在BIOS里关闭Secure Boot,装完驱动再开。但注意,关闭Secure Boot可能影响Windows双系统启动。

第二条,不要迷信最新CUDA。TensorFlow和PyTorch对CUDA的支持有滞后。比如CUDA 12.4刚出时,PyTorch可能只有cu124预览版,TensorFlow还没跟上。选一个框架官方明确支持的版本,比追新省事。

第三条,每次重装系统后先做快照。如果是虚拟机,装好驱动和Miniconda后拍个快照。后面环境搞乱了,直接回滚,比排查半天快得多。物理机可以用Timeshift。

第四条,记录成功配置。我有个习惯,每配好一套环境,就把nvidia-smi输出、pip freeze、CUDA版本、cuDNN版本记在笔记里。下次装新机器,直接照抄,不用重新试错。

第五条,PyTorch和TensorFlow分开环境。哪怕你觉得自己只用一个,也建议分开。因为项目迁移时,依赖冲突会让你抓狂。分开环境,导出requirements.txt,换机器重建,几分钟搞定。

最后再分享一个小技巧:如果你在Ubuntu上遇到torch.cuda.is_available()时好时坏,先别怀疑PyTorch。跑一下watch -n 1 nvidia-smi,看看显卡是否被其他进程占用,或者驱动是否频繁掉线。显卡被占满时,PyTorch会报显存不足,但有时表现成CUDA初始化失败。确认没有僵尸进程占卡,再重启环境。这套流程帮我省下不少重装时间,也希望对你有用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 3:33:19

MySQL增删改查全攻略:从基础CRUD到索引事务性能优化

做后端开发的&#xff0c;没有谁能真正绕开MySQL的增删改查。我见过不少刚入行的同学&#xff0c;一说起增删改查就很不屑&#xff0c;觉得不就是 insert、select、update、delete 四个单词吗&#xff1f;真把权限、事务、索引、主从复制都串起来之后&#xff0c;才意识到一套稳…

作者头像 李华
网站建设 2026/9/30 3:33:02

Nushell 0.112.2 Windows x64 下载:结构化管道与 ZIP 使用说明

Nushell 0.112.2 Windows x64 ZIP 下载 &#xff5c; 官方固定版本 这份 ZIP 适合在 Windows x64 上尝试 Nushell 的结构化命令行工作方式。入口先经过草料提示页&#xff0c;点击“继续访问”进入夸克文件列表&#xff1b;是否需要登录及具体下载方式&#xff0c;以网盘页面为…

作者头像 李华
网站建设 2026/9/30 3:32:27

DeepSeek房地产精准获客:微表情分析与话术生成的闭环实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/30 3:30:58

麒麟V11离线部署K8s 1.32.11与KubeSphere完整指南

在没外网、没有可用Yum源、只有刚拆箱的麒麟V11服务器、还要求把K8s和KubeSphere全离线装起来的机房场景里&#xff0c;焦虑感是实打实的。标题里这个“信创-k8s”项目&#xff0c;说白了就是国产化服务器开源容器平台内网隔离环境的一次硬核落地。这篇文章把整条链路拆开讲清楚…

作者头像 李华
网站建设 2026/9/30 3:30:39

迈普交换机CLI运维实战:高频命令与避坑指南

简介&#xff1a;本资源是一份面向网络运维工程师、IT管理员及通信类专业学习者的迈普交换机实操配置指南&#xff0c;聚焦命令行操作体系与日常维护场景&#xff0c;解决设备管理入门难、命令记忆混乱、模式切换易出错等实际问题。文档为单个229KB的Word文件&#xff08;.docx…

作者头像 李华