很多新手在入门深度学习时,往往被复杂的环境配置和繁琐的数据集加载搞得焦头烂额。本文旨在帮助大家快速上手 PyTorch 深度学习,从环境搭建、IDE 选择到 Dataset 加载,一步到位,告别“炼丹”玄学。
环境搭建:Anaconda + CUDA
首先,推荐使用 Anaconda 管理 Python 环境,它能帮你轻松创建和管理多个独立的 Python 环境,避免不同项目之间的依赖冲突。就像 Nginx 可以通过不同的配置文件管理多个网站一样,Anaconda 可以管理你的深度学习环境。
下载 Anaconda:访问 Anaconda 官网下载对应操作系统的安装包。

安装 Anaconda:按照安装向导完成安装。安装过程中建议勾选“Add Anaconda to my PATH environment variable”,方便在命令行中使用。
创建 PyTorch 环境:打开 Anaconda Prompt(或终端),输入以下命令创建名为
pytorch的环境,并指定 Python 版本:
conda create -n pytorch python=3.9 # 创建pytorch环境,指定python版本
conda activate pytorch # 激活pytorch环境
- 安装 PyTorch:根据你的 CUDA 版本选择合适的 PyTorch 安装命令。如果你的机器有 NVIDIA 显卡,并且已经安装了 CUDA 驱动,可以安装 GPU 版本的 PyTorch。如果没有 NVIDIA 显卡,或者不想使用 GPU 加速,可以安装 CPU 版本的 PyTorch。
查看 CUDA 版本:在命令行输入
nvidia-smi可以查看 CUDA 版本。 如果没有显示 CUDA 信息,说明你的机器没有安装 CUDA 驱动,或者驱动版本太低,需要先安装或更新 CUDA 驱动。安装 GPU 版本的 PyTorch:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch # 安装GPU版本,指定CUDA版本
- 安装 CPU 版本的 PyTorch:
conda install pytorch torchvision torchaudio cpuonly -c pytorch # 安装CPU版本
- 验证安装:在 Anaconda Prompt 中输入
python进入 Python 交互模式,然后输入以下代码:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
如果成功输出了 PyTorch 的版本号,并且 torch.cuda.is_available() 返回 True(如果是 CPU 版本,则返回 False),则说明 PyTorch 安装成功。
IDE 选择:VS Code + PyTorch 插件
选择一个合适的 IDE 可以大大提高你的开发效率。推荐使用 VS Code,它是一款轻量级、跨平台的代码编辑器,拥有丰富的插件生态系统。对于 PyTorch 开发,可以安装以下插件:
- Python:微软官方的 Python 插件,提供代码补全、语法检查、调试等功能。
- Pylance:微软推出的高性能 Python 语言服务器,提供更准确的代码分析和智能提示。
- MagicPython:提供更好的 Python 代码语法高亮。
- vscode-pytorch-snippets:PyTorch 代码片段,可以快速生成常用的 PyTorch 代码。
安装这些插件后,VS Code 就能提供完善的 PyTorch 开发支持,就像 Nginx 配合 Lua 插件可以实现更强大的功能一样。
Dataset 加载:torchvision.datasets
PyTorch 提供了 torchvision.datasets 模块,其中包含了常用的数据集,例如 MNIST、CIFAR10、ImageNet 等。你可以直接使用这些数据集进行训练和测试,无需自己手动下载和处理数据。
以 MNIST 数据集为例,演示如何加载数据集:
import torch
import torchvision
import torchvision.transforms as transforms
# 数据预处理
transform = transforms.Compose([
transforms.ToTensor(), # 转换成Tensor
transforms.Normalize((0.1307,), (0.3081,)) # 归一化,均值和标准差
])
# 加载训练集
trainset = torchvision.datasets.MNIST(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True, num_workers=2)
# 加载测试集
testset = torchvision.datasets.MNIST(root='./data', train=False, download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=64, shuffle=False, num_workers=2)
# 查看数据集信息
print('训练集大小:', len(trainset))
print('测试集大小:', len(testset))
# 迭代训练数据
for images, labels in trainloader:
print('图像大小:', images.shape)
print('标签大小:', labels.shape)
break
代码解释:
transforms.Compose():用于组合多个数据预处理操作,例如将图像转换为 Tensor、归一化等。torchvision.datasets.MNIST():用于加载 MNIST 数据集,root参数指定数据集的存储路径,train参数指定是否加载训练集,download参数指定是否自动下载数据集,transform参数指定数据预处理操作。torch.utils.data.DataLoader():用于将数据集加载成批量数据,batch_size参数指定每个批次的大小,shuffle参数指定是否打乱数据,num_workers参数指定用于加载数据的进程数,可以提高数据加载速度。
避坑经验总结
- CUDA 版本不兼容:PyTorch 对 CUDA 版本有要求,如果 CUDA 版本不兼容,可能会导致程序运行出错。解决方法是安装与 PyTorch 兼容的 CUDA 版本,或者使用 CPU 版本的 PyTorch。
- 下载数据集失败:由于网络原因,可能会导致下载数据集失败。解决方法是使用代理服务器,或者手动下载数据集并放置到指定的路径。
- 数据类型不匹配:PyTorch 对数据类型有严格要求,如果数据类型不匹配,可能会导致程序运行出错。解决方法是将数据转换为正确的类型,例如使用
torch.Tensor.float()将数据转换为 float 类型。
通过本文的介绍,相信你已经掌握了 PyTorch 深度学习环境搭建、IDE 选择和 Dataset 加载的基本方法。现在,你可以开始你的深度学习之旅了! remember to enjoy yourself.
冠军资讯
程序员脱发