Logo
Section 1 / 6

PyTorch图像分类入门

了解本章将要讲解的内容概要。

导入

PyTorch图像分类入门

了解本章将要讲解的内容概要。

接下来,我们将学习如何编写代码来准备数据集、训练模型以获得最终的权重,并在下一步推理过程中使用该模型。流程如下所示:

数据准备

为了将数据转换为合适的格式,并在训练期间输入模型,需要进行数据预处理。为此,我们将学习如何:

  • 将数据集划分为训练集、测试集和验证集。
  • 对原始数据集应用数据增强。
  • 创建自定义数据集模块。

训练

构建神经网络结构只是获得可用于项目并预测所需信息的模型的第一步。训练所构建的网络才是最关键且最具挑战性的部分,我们需要掌握多个关键知识点。为此,我们将学习如何:

  • 构建我们的神经网络。
  • 将数据输入模型进行前向传播。
  • 在每个训练轮次(epoch)后计算损失。
  • 使用梯度下降进行反向传播并更新权重。
  • 绘制训练和验证准确率曲线,以跟踪模型性能。
  • 保存训练好的模型。

测试

一个良好的模型应当在训练过程中从未见过的数据上也表现出较强的泛化能力。为了评估训练好的模型在新数据上的表现,我们将学习如何构建测试流程。

微调

在许多项目中,无论数据集复杂还是简单,首次训练通常难以达到最佳效果,因为每个数据集和分类问题都具有独特性。因此,我们需要能够识别网络的薄弱环节,并知道如何改进。为此,我们将学习如何:

  • 跟踪梯度变化。
  • 使用批量归一化、Dropout、L1与L2正则化等方法解决过拟合与欠拟合问题。
  • 应用迁移学习。

推理

推理是指完成模型训练与优化后,将其投入实际应用的过程。

流行的用于图像分类的神经网络架构

数据准备