Datawhale X 李宏毅苹果书 AI夏令营:Task2

前言

        学完动量和批量的概念,这次继续学自适应学习率,分类,卷积神经网络,继续探究深度学习的奥秘。

一、自适应学习率

引入自适应学习率是因为原始的梯度下降在误差表面效果很差,需要更好的梯度下降的版本,而且在梯度下降里,所有的参数都设有相同的学习率,所以为了解决问题,应该给每一个参数定制变化率,如果在某一个方向上,梯度值很小,那么学习率应该调大一点,如果在某一个方向上坡度很大,学习率要小一点。

二、分类

分类可以当做回归来看,输入x后,输出仍然是一个标量,要跟正确答案的那个类月接近越好,,下面一个例子来表示类的问题:

三、卷积神经网络

虽然是实践内容,但实践起来很容易,按照教程来大概20分钟左右就可以运行成功,预测处理结果,代码详解如下:

1.导入库和工具包

       涵盖了数据处理、神经网络构建、数据集操作、图像转换和显示进度条等功能,为后续的模型训练和评估做好准备。

2.数据集准备和预处理

包括从指定路径加载图像数据,并对其进行预处理。作业中对图像的预处理操作包括调整大小和将图像转换为Tensor格式。为了增强模型的鲁棒性,可以对训练集进行数据增强。相关代码如下:

3.定义模型

       定义了一个图像分类器类(Classifier),继承自PyTorch的nn.Module。该分类器通过一系列卷积层、批归一化层、激活函数和池化层构建卷积神经网络(CNN),用于提取图像特征。随后,这些特征被输入到全连接层进行分类,最终输出11个类别的概率,用于图像分类任务。

4.定义损失函数和优化器

         实现了图像分类模型的初始化和训练配置,目的是准备好训练环境和参数。它选择合适的设备(GPU或CPU),设置模型、批量大小、训练轮数、提前停止策略,定义了损失函数和优化器,为后续的模型训练奠定了基础。

5.训练模型

     实现了一个图像分类模型的训练和验证循环,目的是通过多轮训练(epochs)逐步优化模型的参数,以提高其在验证集上的性能,并保存效果最好的模型。训练阶段通过前向传播、计算损失、反向传播和参数更新来优化模型,验证阶段评估模型在未见过的数据上的表现。如果验证集的准确率超过了之前的最好成绩,保存当前模型,并在连续多轮验证性能未提升时提前停止训练。

6.评估模型

     训练完成后,需要在测试集上评估模型的性能。通过计算准确率来衡量模型在测试集上的表现。   

7.进行预测

      构建一个测试数据集和数据加载器,以便高效地读取数据。实例化并加载预训练的分类器模型,并将其设置为评估模式。在不计算梯度的情况下,遍历测试数据,使用模型进行预测,并将预测标签存储在列表中。将预测结果与测试集的ID生成一个DataFrame,并将其保存为submission.csv文件。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值