目录
0. 前言:分类任务的本质
分类任务是深度学习的核心问题之一,目标是让模型学会将输入数据(如图像)划分到预定义的类别中。比如将服装图片分为“T恤”或“踝靴”(二分类),或细分为10种服装类型(多分类)。本节通过PyTorch实战,带你深入掌握分类任务的完整流程。
1. 端到端深度学习流程:像搭积木一样构建模型
1.1 核心步骤图解
-
数据获取与处理:原始数据→张量→归一化。
-
模型构建:堆叠神经网络层(如全连接层+激活函数)。
-
训练与验证:前向计算损失→反向传播优化→验证集监控。
-
测试与部署:最终性能评估与应用。
1.2 数据预处理:让模型“吃”得更好
-
归一化的意义:将像素值从[0,255]压缩到[-1,1],加速训练收敛。
-
代码示例:
transform = T.Compose([
T.ToTensor(), # 转为PyTorch张量
T.Normalize([0.5], [0.5]) # 归一化到[-1,1]
])
2. 二分类实战:T恤 vs 踝靴
2.1 数据准备:过滤与平衡
# 只保留标签0(T恤)和9(踝靴)
binary_train_set = [x for x in train_set if x[1] in [0,9]]
binary_test_set = [x for x in test_set if x[1] in [0,9]]