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 环境

  • 推荐使用 conda 或 venv 创建虚拟环境:

    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")
相关推荐
BD_Marathon19 小时前
【Python】标准多态和鸭子多态
python
用户83562907805119 小时前
Python 操作 Excel:创建数组公式与 R1C1 公式
后端·python
万化冥合19 小时前
怎么批量把 Word 转 PDF?
python·pdf·c#·word
~城南花已开~20 小时前
Redfish 事件接收服务搭建指南(Ubuntu Server 实测)
linux·服务器·python·ubuntu
fengyangaiGEO20 小时前
如何通过GEO优化实现外贸B2B询盘增长?
人工智能·python
jianxuan20 小时前
Spring Boot + Maven 接入 Allatori:从普通打包到可选混淆发布
spring boot·python·maven
不一样的故事12620 小时前
Prompt 工程(Prompt Engineering)
前端·人工智能·python
我命由我1234520 小时前
6-2.Python 异常处理 - 异常捕获(捕获指定异常、常见异常类型、异常信息)
java·运维·开发语言·python·http·https·java-ee
zh路西法20 小时前
【模型式强化学习】(三):MBPO——短轨迹生成与模型数据驱动的策略优化
python·强化学习·pe·sac·pets·mbpo·mbrl
Angeldream12320 小时前
第 9 章 医学影像项目实战
大数据·图像处理·人工智能·python·医学影像处理