很多新手在入门 深度学习 01:快速上手 PyTorch 时,常常卡在环境配置上。看似简单的几行 pip install 命令,背后却隐藏着 Python 版本兼容、CUDA 驱动版本匹配等诸多问题。本文旨在帮助大家避开这些坑,提供一套行之有效的 PyTorch 环境搭建方案,并推荐几款常用的 IDE,最后演示如何加载和使用 Dataset。
1. 环境准备:告别玄学依赖
在开始安装 PyTorch 之前,需要确保你的系统满足以下条件:
- 操作系统:Windows, macOS, Linux 均可,推荐 Linux(如 Ubuntu),更适合服务器部署。
- Python 版本:推荐 Python 3.7+。使用
python --version命令查看当前 Python 版本,如果版本过低,建议使用 Anaconda 创建一个独立的 Python 环境。 - CUDA(可选):如果你的机器配备 NVIDIA 显卡,并且希望利用 GPU 加速训练,则需要安装 CUDA Toolkit。CUDA 版本需要与 PyTorch 版本匹配,具体对应关系请参考 PyTorch 官网。如果不需要 GPU 加速,可以选择安装 CPU 版本的 PyTorch。
2. Anaconda:隔离环境的利器
Anaconda 是一个强大的 Python 包管理和环境管理工具,可以方便地创建、激活和切换不同的 Python 环境,避免包冲突。
下载并安装 Anaconda:https://www.anaconda.com/products/distribution

创建 PyTorch 环境:
conda create -n pytorch python=3.8 # 创建一个名为 pytorch 的环境,指定 Python 版本为 3.8 conda activate pytorch # 激活 pytorch 环境
3. 安装 PyTorch:选择合适的版本
PyTorch 官方提供了多种安装方式,推荐使用 conda 或 pip。在安装之前,请务必根据你的系统和 CUDA 版本选择合适的安装命令。
CPU 版本:

conda install pytorch torchvision torchaudio cpuonly -c pytorch # 使用 conda 安装 CPU 版本的 PyTorch # 或者使用 pip # pip install torch torchvision torchaudioGPU 版本 (CUDA):
首先确认你的 CUDA 版本,然后在 PyTorch 官网https://pytorch.org/get-started/locally/ 找到对应的安装命令。例如,如果你的 CUDA 版本是 11.3,则可以使用以下命令:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch # 使用 conda 安装 GPU 版本的 PyTorch (CUDA 11.3) # 或者使用 pip,需要指定 CUDA 版本 # pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
4. IDE 选择:找到你的专属编辑器
IDE (Integrated Development Environment) 可以提高开发效率。以下是一些常用的 PyTorch 开发 IDE:
- PyCharm:功能强大,支持代码自动补全、调试等功能,但 Professional 版本收费。Community 版本对于 Python 开发来说足够使用。
- VS Code:轻量级,通过安装插件可以支持 Python 开发,高度可定制。
- Jupyter Notebook:交互式环境,适合数据分析和模型实验。可以将代码、文本和图像混合在一起。
选择哪个 IDE 取决于个人喜好和项目需求。对于初学者,推荐使用 VS Code 或 Jupyter Notebook。
5. Dataset 加载:数据是深度学习的基石
PyTorch 提供了 torch.utils.data.Dataset 和 torch.utils.data.DataLoader 两个类,用于方便地加载和处理数据集。
- Dataset:表示一个数据集,需要实现
__len__和__getitem__两个方法,分别用于返回数据集的大小和获取指定索引的数据。 - DataLoader:用于将 Dataset 包装成一个可迭代对象,方便批量加载数据。
以下是一个简单的自定义 Dataset 示例:
import torch
from torch.utils.data import Dataset, DataLoader
class MyDataset(Dataset):
def __init__(self, data, labels):
self.data = data
self.labels = labels
def __len__(self):
return len(self.data)
def __getitem__(self, idx):
return self.data[idx], self.labels[idx]
# 创建数据集
data = torch.randn(100, 10) # 100 个样本,每个样本 10 个特征
labels = torch.randint(0, 2, (100,)) # 100 个标签,值为 0 或 1
my_dataset = MyDataset(data, labels)
# 创建 DataLoader
data_loader = DataLoader(my_dataset, batch_size=32, shuffle=True) # batch_size 设置为 32,shuffle 设置为 True 表示打乱数据
# 迭代 DataLoader
for i, (batch_data, batch_labels) in enumerate(data_loader):
print(f'Batch {i+1}:')
print(f' Data shape: {batch_data.shape}')
print(f' Labels shape: {batch_labels.shape}')
# 在这里进行模型训练
torchvision 包还提供了常用的图像数据集,例如 MNIST、CIFAR-10 等,可以直接加载使用。
import torchvision.datasets as datasets
import torchvision.transforms as transforms
# 下载 MNIST 数据集
train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transforms.ToTensor())
test_dataset = datasets.MNIST(root='./data', train=False, download=True, transform=transforms.ToTensor())
# 创建 DataLoader
train_loader = DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)
6. 实战避坑:常见问题与解决方案
- CUDA 版本不匹配:这是最常见的问题,请务必确认 CUDA Toolkit 版本与 PyTorch 版本兼容。可以尝试升级或降级 CUDA Toolkit 版本。
- 显存不足:如果训练模型时出现显存不足的错误,可以尝试减小 batch size,或者使用更大的显卡。
- 数据类型不匹配:PyTorch 中 Tensor 的数据类型很重要,需要根据实际情况选择合适的数据类型,例如
torch.float32,torch.float64,torch.int64等。可以使用.type()方法查看 Tensor 的数据类型。
掌握了 PyTorch 的环境搭建、IDE 选择和 Dataset 加载,你就可以开始你的深度学习之旅了!希望这篇 深度学习 01:快速上手 PyTorch 文章能够帮助你顺利入门。
冠军资讯
代码一只喵