Python深度学习环境配置全攻略

配置 Python 深度学习环境(PyTorch、CUDA、cuDNN)的详细步骤指南:

🧠 1. 硬件与操作系统检查

  • 显卡要求 :确保您的显卡是 NVIDIA GPU 并支持 CUDA(可使用命令 nvidia-smi 查看)
  • 操作系统:Windows、Linux(推荐)或 macOS(仅支持 CPU 版本)

🔧 2. 安装 NVIDIA 驱动

  • 访问 NVIDIA 官网 下载对应显卡的最新驱动

  • 安装完成后通过 nvidia-smi 验证驱动版本和 CUDA 版本

    复制代码
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 535.113.01   Driver Version: 535.113.01   CUDA Version: 12.2    |
    |-------------------------------+----------------------+----------------------+

⚙️ 3. 安装 CUDA Toolkit

  • 访问 CUDA Toolkit 下载页面

  • 选择与驱动兼容的版本(例如 nvidia-smi 显示 CUDA 12.2 则选择 12.x)

  • Windows:运行安装程序并配置环境变量

  • Linux

    bash 复制代码
    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
    sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
    sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"
    sudo apt-get update
    sudo apt-get -y install cuda-12.2

📦 4. 安装 cuDNN

  • 访问 cuDNN 下载页面(需注册账号)

  • 下载与 CUDA 版本匹配的 cuDNN

  • 解压后复制文件到 CUDA 目录:

    bash 复制代码
    tar -xzvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y.tgz
    sudo cp cuda/include/cudnn*.h /usr/local/cuda/include/
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
    sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

🐍 5. 配置 Python 环境

  • 推荐使用 condavenv 创建虚拟环境:

    bash 复制代码
    conda create -n pytorch_env python=3.10
    conda activate pytorch_env

🔥 6. 安装 PyTorch

  • 访问 PyTorch 官网 获取安装命令

  • 根据 CUDA 版本选择命令(例如 CUDA 12.1):

    bash 复制代码
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

✅ 7. 验证安装

python 复制代码
import torch
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA可用: {torch.cuda.is_available()}")
print(f"设备数量: {torch.cuda.device_count()}")
print(f"当前设备: {torch.cuda.current_device()}")
print(f"设备名称: {torch.cuda.get_device_name(0)}")

# 测试张量计算
x = torch.randn(3, 3).cuda()
print(x ** 2)

🛠️ 常见问题解决

  1. CUDA不可用

    • 检查驱动版本与 CUDA Toolkit 是否兼容
    • 确保环境变量 PATH 包含 CUDA 路径(如 /usr/local/cuda/bin
    • 重启系统使驱动生效
  2. 版本冲突

    • 使用 conda list 检查包版本
    • 重新创建虚拟环境并严格按官网命令安装
  3. 内存不足

    • 减少 batch size
    • 使用 torch.cuda.empty_cache()

💡 提示 :对于新手,推荐使用 Anaconda 管理环境,可自动解决大部分依赖问题。

配置完成后,您可以使用以下代码测试 GPU 加速效果:

python 复制代码
import time
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

# CPU计算
start = time.time()
cpu_tensor = torch.randn(10000, 10000)
cpu_result = cpu_tensor @ cpu_tensor.T
print(f"CPU耗时: {time.time()-start:.2f}s")

# GPU计算
start = time.time()
gpu_tensor = cpu_tensor.to(device)
gpu_result = gpu_tensor @ gpu_tensor.T
print(f"GPU耗时: {time.time()-start:.2f}s")
相关推荐
BU摆烂会噶6 分钟前
【LangGraph】持久化实现的三大能力——时间旅行
数据库·人工智能·python·postgresql·langchain
消失的旧时光-19431 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
zhaoyong2223 小时前
MySQL 存储过程中字符集与排序规则不匹配导致查询性能下降的解决方案
jvm·数据库·python
sinat_383437363 小时前
golang如何从Python转型Go开发_golang从Python转型Go开发攻略
jvm·数据库·python
rockey6273 小时前
基于AScript的python3脚本语言发布啦!
python·c#·.net·script·python3·eval·expression·function·动态脚本
gqk013 小时前
Python入门
python
Muyuan19984 小时前
28.Paper RAG Agent 开发记录:修复 LLM Rerank 的解析、Fallback 与可验证性
linux·人工智能·windows·python·django·fastapi
代码小书生4 小时前
statistics,一个统计的 Python 库!
开发语言·python
STLearner4 小时前
SIGIR 2026 | LLM × Graph论文总结(图增强LLM,GraphRAG,Agent,多模态,知识图谱,搜索,推
人工智能·python·深度学习·神经网络·机器学习·数据挖掘·知识图谱
FreakStudio4 小时前
MicroPython 内核开发者直接狂喜!这个 Claude 插件市场,把开发全流程做成了「对话式外挂」
python·单片机·嵌入式·面向对象·并行计算·电子diy