实验18 卷积神经网络的简介及应用.pptxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

卷积神经网络的简介及应用

实验18

课程学习目标

理解卷积神经网络(ConvolutionalNeuralNetwork,CNN)的基础知识。

掌握如何使用PyTorch构建和训练CNN模型。

CNN简介

CNN分为输入层、卷积层、池化层、全连接层、输出层。

CNN基本结构

接收原始输入数据,定义数据形状和类型,无处理。

输入层

使用可学习滤波器提取特征,后接ReLU激活函数增加非线性。

卷积层

降低特征图空间尺寸,减少参数和计算复杂性,增强位置变化鲁棒性。

池化层

根据提取特征做出决策或分类,每个神经元与前一层全连接。

全连接层

输出最终分类或预测结果,多分类使用softmax函数转换为概率分布。

输出层

01

02

03

04

05

06

CNN的应用实例

CNN的应用领域

CNN在图像分类、物体检测、图像分割等领域有广泛应用,能自动学习图像特征。

本节实验

通过构建和训练CNN处理CIFAR-10数据集,深入理解CNN工作原理,学习PyTorch框架。

1.导入库

导入TensorFlow,NumPy等库,为CNN实验做准备。

此外,使用代码检查GPU是否可用,优先使用GPU加速计算。

2.准备数据

特征

描述

数据集名称

CIFAR-10

数据集类型

计算机视觉数据集

图像数量

60,000张(50,000张训练图像和10,000张测试图像)

图像尺寸

32x32像素(彩色图像)

类别数量

10个类别

类别标签

飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船、卡车

每类图像数量

每个类别均包含6,000张图像

用途

机器学习算法测试和图像分类研究

难度

挑战性高,因为类别间相似性较大

下载链接

/~kriz/cifar.html

1

CIFAR-10数据集是一个用于机器学习算法测试和图像分类研究的重要资源,包含10个类别,每个类别6,000张图像,共计60,000张图像。

2

该数据集在计算机视觉和机器学习领域具有重要的应用价值,由于类别间相似性较大,它为研究者提供了一个具有挑战性的测试平台。

2.准备数据

使用以下代码导入及加载CIFAR-10数据集

2.准备数据

定义了一个imshow()函数从训练集中随机获取一些的图片,并显示。

3.定义CNN模型

层的名称

层的参数

层的功能

第一个卷积层

in_channels=3,out_channels=6,kernel_size=5

第一个卷积层,使用5x5的卷积核从RGB图像中提取特征

第一个池化层

kernel_size=2,stride=2

池化层,使用2x2的窗口进行最大池化,以减少特征维度

第二个卷积层

in_channels=6,out_channels=16,kernel_size=5

第二个卷积层,进一步提取特征并增加输出通道数

第一个全连接层

in_features=1655,out_features=120

第一个全连接层,将卷积层输出的二维特征图展平为一维向量

第二个全连接层

in_features=120,out_features=84

第二个全连接层,进一步处理特征

第三个全连接层

in_features=84,out_features=10

第三个全连接层,输出最终的分类结果(10个类别)

定义了一个典型的CNN模型结构,包含卷积层、池化层和全连接层,用于处理图像数据。

3.定义CNN模型

定义CNN模型的步骤:

3.定义CNN模型

代码示例如下:

4.训练模型

使用交叉熵损失函数和SGD优化器来训练模型。训练该模型的步骤如下:

4.训练模型

模型训练的代码和结果如图。

模型在训练过程中每经过2000个小批量数据后的平均损失值。可以看到随着训练的进行,损失值逐渐下降,模型在逐步学习和优化,这表明模型的训练是成功的。

5.评估模型

模型训练的代码和结果如图。

从结果可以看出,这个模型在测试数据集上的表现尚有改进空间,56.93%的准确率,表明模型对数据的分类还不够理想,可能需要进一步优化模型架构、调整超参数、增加训练数据或改进数据预处理方法。

6.保存和加载模型

保存模型:使用torch.save(net.state_dict(),PATH)将模型参数保存到文件。

加载模型:使用net.load_state_dict(torch.load(PATH))从文件中加载模型参数。

本节实验作业

1.定义一个简单的CNN,包含一个卷积层后接一个池化层和一个全连接层。

文档评论(0)

弹弹 + 关注
实名认证
文档贡献者

人力资源管理师、教师资格证持证人

该用户很懒,什么也没介绍

版权声明书
用户编号:6152114224000010
领域认证 该用户于2024年03月13日上传了人力资源管理师、教师资格证

1亿VIP精品文档

相关文档