4.4 PyTorch迭代过程中的评估

本节介绍了在PyTorch中如何将数据集分割为训练集和验证集,以便在训练过程中进行公正的模型评估。内容包括数据集分割步骤、训练与评估过程,以及如何在验证集上关闭梯度以避免不必要的内存消耗。通过示例展示了使用torch.no_grad()来管理梯度计算。
摘要由CSDN通过智能技术生成

欢迎订阅本专栏:《PyTorch深度学习实践》
订阅地址:https://blog.csdn.net/sinat_33761963/category_9720080.html

  • 第二章:认识Tensor的类型、创建、存储、api等,打好Tensor的基础,是进行PyTorch深度学习实践的重中之重的基础。
  • 第三章:学习PyTorch如何读入各种外部数据
  • 第四章:利用PyTorch从头到尾创建、训练、评估一个模型,理解与熟悉PyTorch实现模型的每个步骤,用到的模块与方法。
  • 第五章:学习如何利用PyTorch提供的3种方法去创建各种模型结构。
  • 第六章:利用PyTorch实现简单与经典的模型全过程:简单二分类、手写字体识别、词向量的实现、自编码器实现。
  • 第七章利用PyTorch实现复杂模型:翻译机(nlp领域)、生成对抗网络(GAN)、强化学习(RL)、风格迁移(cv领域)。
  • 第八章:PyTorch的其他高级用法:模型在不同框架之间的迁移、可视化、多个GPU并行计算。

在之前几节,我们在训练过程在打印出了每次epoch的损失,但这是训练集的损失,我们需要获得验证集上的损失才能做更公正的评估。

因此我们本节介绍将数据集分割为训练集与验证集,让模型在训练集上训练,在验证集上给出每次迭代的评估。

关于训练集、验证集、测试集,为何分割,如何分割的理论知识此处不做展开。这里只简单介绍在pytorch中如何进行训练中的评估。

4.4.1 分割数据集

先来看看分割数据集的步骤:

import torch
import torch.optim as optim

# x与y,还是老例子
x = [0.5, 14.0, 15.0, 28.0, 11.0, 8.0, 3.0, -4.0, 6.0, 13.0, 21.0]
y = [35.7, 55.9, 58.2, 81.9, 56.3, 48.9, 33.9, 21.8, 48.4, 60.4, 68.4]
x = torch.tensor(x)
y = torch.tensor(y)


n_sample = x
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值