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")
相关推荐
乱世军军19 小时前
把 Python 3.13 降级到 3.11
开发语言·python
Y5neKO19 小时前
某国赛CTF逆向题目Writeup:re1
python·逆向·ctf
带娃的IT创业者19 小时前
WeClaw 架构演进史:从 0 到 1 构建跨平台 AI 助手的完整历程
人工智能·python·websocket·架构·fastapi·架构设计·实时通信
Storynone20 小时前
【Day28】LeetCode:509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯
python·算法·leetcode
guts35020 小时前
使用python里的OpenCV包做简单的车道线检测
人工智能·python·opencv
sz-lcw20 小时前
HOG特征向量计算方法
人工智能·python·算法
ZTLJQ20 小时前
驾驭高并发:Python协程与 async/await 完全解析
服务器·数据库·python
一勺菠萝丶20 小时前
芋道框架 - API 前缀区分机制
java·linux·python
kcuwu.20 小时前
Python判断及循环
android·java·python
前进的李工20 小时前
LangChain使用之Model IO(提示词模版之ChatPromptTemplate)
java·前端·人工智能·python·langchain·大模型