实验17 PyTorch的开发流程与通用模板.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文档。上传文档
查看更多

PyTorch的开发流程与通用模板实验17

课程学习目标掌握PyTorch的开发流程。学习如何使用PyTorch构建和训练简单的神经网络模型。

PyTorch开发流程1.准备数据读取数据,预处理、分析、可视化,划分训练集、验证集和测试集,封装成PyTorch数据加载器。2.定义模型使用torch.nn模块定义神经网络结构,包括层、激活函数、损失函数和优化器。4.评估模型使用torch.no_grad禁用梯度计算,评估模型性能,使用混淆矩阵、ROC曲线、AUC值分析模型。5.保存和加载模型使用torch.save和torch.load保存和加载模型参数或状态,以便跨设备或平台使用。3.训练模型使用torch.optim更新模型参数,torch.autograd自动计算梯度,遍历数据加载器,监控损失和准确率。

PyTorch的通用模板在本实验中,我们将学习如何使用PyTorch的开发流程来构建和训练一个简单的人工神经网络模型,用于对手写数字进行分类。我们将使用PyTorch自带的MNIST数据集,它包含了60000张28x28的灰度图片,每张图片对应一个0到9的数字标签。

1.导入库在开始实验之前,需要先导入PyTorch和其他需要用到的库,我们可以在Notebook的第一个单元格中输入以下的代码,并运行。

2.准备数据属性描述数据集来源由YannLeCun、CorinnaCortes和ChristopherJ.C.Burges等人创建数据集类型图像数据集数据集规模60,000个训练图像和10,000个测试图像数据集样本包含0到9的手写数字图像,每个数字有多个不同版本的样本图像尺寸28x28像素图像通道灰度图像(单通道)标签每个图像都有一个与之关联的标签,表示图像中的数字数据集用途用于机器学习和深度学习任务,特别是手写数字识别数据集特点1.数据简单且易于使用,适用于入门级和教育用途2.已被广泛用于图像分类、深度学习模型评估和基准测试数据集分割数据集通常分为训练集和测试集,以进行模型的训练和评估数据集下载可以通过PyTorch、TensorFlow等深度学习框架自动下载和加载本实验中,我们将使用PyTorch自带的MNIST(ModifiedNationalInstituteofStandardsandTechnology)手写数据集,它包含了60000张28x28的灰度图片,每张图片对应一个0到9的数字标签。

2.准备数据使用torchvision的datasets模块来下载和加载数据集,使用torch的utils.data模块创建数据加载器。

2.准备数据使用len()函数来查看数据加载器的长度,它表示数据加载器包含的批次的数量。从运行结果可以看到,训练集的长度是938,表示它包含了938个批次,每个批次有64张图片和64个标签,总共有约60000张图片和60000个标签。

2.准备数据使用matplotlib的imshow()函数来显示图片。例如,可以输入以下的代码来显示数据加载器的下一个批次的第一张图片和它的标签。

3.定义模型使用PyTorch的torch.nn模块来定义一个简单的人工神经网络模型,包括以下5部分。

3.定义模型

4.训练模型模型的训练流程图如下:

4.训练模型函数所属模块作用应用场景zero_grad()torch.optim清空优化器中的梯度缓存在每次梯度计算之前使用,以避免梯度累积backward()torch.autograd计算损失值的梯度在损失函数上调用,用于计算梯度step()torch.optim根据计算的梯度更新模型参数在梯度计算后调用,用于更新模型参数。item()Tensor获取Tensor中的标量值。从单元素张量中提取Python数值torch.max(tensor,dim)torch获取Tensor中的最大值和最大值的索引用于获取张量某维度的最大值及其索引位置。torch.sum(tensor)torch获取Tensor中的元素之和用于计算张量所有元素的累加和torch.eq(tensor1,tensor2)torch获取Tensor中的元素是否相等的布尔值比较两个张量的相等性,逐元素比较使用PyTorch的torch.optim模块和torch.autograd模块来实现模型的训练,其常用函数可参考左表。

4.训练模型模型训练的代码和结果如下:

4.训练模型模型训练的代码和结果如下:

5.评估模型01遍历数据加载器获取每个批次的数据和标签02送入模型预测得到输出的预测概率03计算损失值送入损失函数,得到损失值04累加损失和

文档评论(0)

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

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

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

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

1亿VIP精品文档

相关文档