版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
卷积神经网络的简介及应用实验18课程学习目标理解卷积神经网络(ConvolutionalNeuralNetwork,CNN)的基础知识。掌握如何使用PyTorch构建和训练CNN模型。CNN简介CNN分为输入层、卷积层、池化层、全连接层、输出层。CNN基本结构接收原始输入数据,定义数据形状和类型,无处理。输入层使用可学习滤波器提取特征,后接ReLU激活函数增加非线性。卷积层降低特征图空间尺寸,减少参数和计算复杂性,增强位置变化鲁棒性。池化层根据提取特征做出决策或分类,每个神经元与前一层全连接。全连接层输出最终分类或预测结果,多分类使用softmax函数转换为概率分布。输出层010203040506CNN的应用实例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.html1CIFAR-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,包含一个卷积层后接一个池化层和一个全连接层。
2.创建形状为(1,1,28,28)的随机输入张量并通过CNN传递。打印输出张量的形状。具体操作请查看视频教程长短期记忆网络的简介及应用实验19课程学习目标理解长短期记忆网络(LongShort-TermMemory,LSTM)的基础知识。掌握如何使用PyTorch构建LSTM模型来处理时间序列数据。LSTM简介LSTM基本结构LSTM由遗忘门、输入门、单元状态和输出门组成,解决传统RNN在处理长序列数据时的梯度消失和梯度爆炸问题。LSTM工作原理通过门控机制控制信息流动,遗忘门决定保留多少旧信息,输入门决定添加多少新信息,输出门决定输出多少信息。LSTM应用领域广泛应用于自然语言处理、语音识别、时间序列预测等领域,有效处理长期依赖信息。LSTM简介组件名称功能输入操作输出遗忘门决定丢弃哪些信息Sigmoid函数计算遗忘因子(介于0与1之间)输入门决定存储哪些新信息Sigmoid函数确定更新哪些信息,tanh层产生新的候选值向量更新向量单元状态更新和存储长期信息输出门根据单元状态决定输出什么LSTM的应用实例本节通过构建和训练一个LSTM模型来预测时间序列数据中的旅行乘客人数。实验中使用了前132个月的乘客数据进行模型训练,并预测接下来的12个月的乘客数量。安装seaborn库在实验开始前需要打开AnacondaPrompt进入自己创建的虚拟环境(pytorch_env)中安装seaborn库。1.导入库seaborn库安装完成后打开JupyterNotebook导入实验所需的库。2.准备数据该数据集包含年度、月份和乘客数量的信息。运行结果显示了从1949年到1960年的航班乘客人数数据,总共有144条记录,每条记录包含3个列(年份、月份和乘客人数)。2.准备数据使用Matplotlib库绘制了“flights”数据集中乘客人数的时间序列图。图表显示了从1949年到1960年每月的乘客数量,数据呈现出明显的上升趋势,反映了随着时间推移乘客数量的持续增长以及周期性的波动。2.准备数据将数据分为训练集(前132月)和测试集(最后12月),训练数据归一化到[-1,1]。数据预处理01数据转换为PyTorch的FloatTensor格式。数据格式转换02定义函数create_inout_sequences,输入序列为12个月乘客人数,标签为第13个月乘客人数。创建输入序列和标签03输出前5个生成的输入序列和标签对,用于模型训练。输出前5个序列和标签对043.定义LSTM模型定义LSTM模型,继承自nn.Module,包含LSTM层和全连接层。LSTM模型定义LSTM层输入大小1,隐藏层大小100,输出大小1。LSTM层参数输入序列经LSTM层和全连接层,输出最后一个时间步预测值。前向传播使用平滑L1损失函数,Adam优化器,学习率0.001。损失函数与优
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老护理培训课件
- 国家级检验检测机构资质认定评审员考试试题及答案(广西壮族自治区桂林市2026年)
- 电力工程造价从业人员专业能力评价考试(专业技术公共基础)题库含答案(西藏自治区那曲地区2025年)
- 2026年心理学专升本真题试卷含解析
- 佤族清戏的表演艺蕴和文化内蕴
- 2026年湖北省潜江市农业专业技术职务水平能力测试(农学)练习题及答案
- 【备考2026】海南省中考仿真数学试卷1(含解新)
- 2026年大学(医学检验技术)医学检验概论试题及答案
- 教辅书自查报告(3篇)
- 护理抢救工作制度考试题及答案
- 兵团连队职工考试试题及答案
- (正式版)DB15∕T 4154-2025 《荒漠生态系统无人机植被调查技术规范》
- DB6501T 036-2022 乌鲁木齐市海绵城市建设设计导则
- 集装箱房屋拆除施工方案
- (正式版)DB15∕T 2537-2022 《涉路工程安全性评价报告编制指南》
- 2025年华南理工大学综评考试真题及答案
- 小儿柴胡退热颗粒课件
- 2025全国翻译资格(水平)考试阿拉伯语二级笔译试卷
- 《潜水艇》课件教学课件
- 年产5万吨丙酸工艺设计
- 文化赛事管理办法
评论
0/150
提交评论