- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验一手写数字识别
PAGE2
深度学习实验指导书
PAGE2
实验一手写数字识别
实验目的
掌握卷积神经网络基本原理;
掌握PyTorch(或其他框架)的基本用法以及构建卷积网络的基本操作;
了解PyTorch(或其他框架)在GPU上的使用方法。
实验要求
搭建PyTorch(或其他框架)环境;
构建一个规范的卷积神经网络组织结构;
在MNIST手写数字数据集上进行训练和评估,实现测试集准确率达到98%及以上;
按规定时间在课程网站提交实验报告、代码以及PPT。
实验原理(以PyTorch为例)
PyTorch基本用法:
使用PyTorch,必须了解PyTorch:
张量的创建与使用
数据创建和数据加载
数据增强
网络模型创建
使用torch.autograd自动求梯度
模型参数优化
模型加载与保存
PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络。
卷积神经网络:
典型的卷积神经网络由卷积层、池化层、激活函数层交替组合构成,因此可将其视为一种层次模型,形象地体现了深度学习中“深度”之所在。
卷积操作
卷积运算是卷积神经网络的核心操作,给定二维的图像I作为输入,二维卷积核K,卷积运算可表示为:
(1)
给定5×5输入矩阵、3×3卷积核,相应的卷积操作如图1所示。
图1卷积运算
在使用TensorFlow等深度学习框架时,卷积层会有padding参数,常用的有两种选择,一个是“valid”,一个是“same”。前者是不进行填充,后者则是进行数据填充并保证输出与输入具有相同尺寸。
构建卷积或池化神经网络时,卷积步长也是一个很重要的基本参数。它控制了每个操作在特征图上的执行间隔。
池化操作
池化操作使用某位置相邻输出的总体统计特征作为该位置的输出,常用最大池化(max-pooling)和均值池化(average-pooling)。池化层不包含需要训练学习的参数,仅需指定池化操作的核大小、操作步长以及池化类型。池化操作示意如图2所示。
图2池化操作
激活函数层
卷积操作可视为对输入数值进行线性计算发挥线性映射的作用。激活函数的引入,则增强了深度网络的非线性表达能力,从而提高了模型的学习能力。常用的激活函数有sigmoid、tanh和ReLU函数。
实验所用工具及数据集
工具
Anaconda、PyTorch
(PyTorch安装教程参考:PyTorch官网:/)
数据集
MNIST手写数字数据集
(下载地址及相关介绍:/exdb/mnist/)
实验步骤与方法(以PyTorch为例)
安装实验环境,包括Anaconda、PyTorch,若使用GPU还需要安装cuda、cudnn;
下载MNIST手写数字数据集;
加载MNIST数据;
构建模型;
用class类来建立CNN模型
CNN流程: 卷积(Conv2d)-激励函数(ReLU)-池化(MaxPooling)-
卷积(Conv2d)-激励函数(ReLU)-池化(MaxPooling)-
展平多维的卷积成的特征图-接入全连接层(Linear)-输出
创建优化器和损失函数;
训练和评估模型。
实验二:基于ViT的CIFAR10图像分类
一、实验目的
学习如何使用深度学习框架来实现和训练一个ViT模型,以及ViT中的Attention机制。
进一步掌握使用深度学习框架完成任务的具体流程:如读取数据、构造网络、训练模型和测试模型等。
二、实验要求
基于Python语言和任意一种深度学习框架(实验指导书中使用PyTorch框架进行介绍),从零开始一步步完成数据读取、网络构建、模型训练和模型测试等过程,最终实现一个可以完成基于ViT的CIFAR10图像分类任务的程序。
在CIFAR10数据集上进行训练和评估,实现测试集准确率达到90%以上。
按照规定时间在课程网站上提交实验报告,代码和PPT。
三、实验原理
ViT相关概念和原理参考《深度学习》课程讲授内容,VIT首次将Transformer模型运用到计算机视觉领域并且取得了不错的分类效果,模型架构图如图1所示。从图1可以看出VIT只用了Transformer模型的编码器部分,并未涉及解码器。ViT架构由三部分组成:(1)图像特征嵌入模块;(2)Transformer编码器模块;(3)MLP分类模块。ViT的组成模块详细介绍如下:
图1ViT的架构
(1)图像特征嵌入模块:标准的ViT模型对图像的输入尺寸有要求,必须为
您可能关注的文档
最近下载
- 体例格式12:工学一体化课程《小型网络安装与调试》任务3教学单元2教学单元活动方案.docx VIP
- 体例格式12:工学一体化课程《小型网络安装与调试》任务3教学单元1教学单元活动方案.docx VIP
- 体例格式12:工学一体化课程《小型网络安装与调试》任务3教学单元3教学单元活动方案.docx VIP
- 体例格式12:工学一体化课程《小型网络安装与调试》任务3教学单元7教学单元活动方案.docx VIP
- 体例格式12:工学一体化课程《小型网络安装与调试》任务4教学单元1教学单元活动方案.docx VIP
- 体例格式12:工学一体化课程《小型网络安装与调试》任务4教学单元2教学单元活动方案1.docx VIP
- 京瓷哲学手册.pdf VIP
- 体例格式12:工学一体化课程《小型网络安装与调试》任务4教学单元3教学单元活动方案.docx VIP
- 体例格式12:工学一体化课程《小型网络安装与调试》任务4教学单元5教学单元实施计划.docx VIP
- 体例格式12:工学一体化课程《小型网络安装与调试》任务4教学单元6教学单元活动方案.docx VIP
文档评论(0)