python-3.x - 为什么“测试过程”在深度学习的时代循环中?
问题描述
我是深度学习的新手,这是我看到的代码
代码很好,但我不明白以下内容:
for epoch in range(1, args.epochs + 1):
train(epoch)
test(epoch)
with torch.no_grad():
sample = torch.randn(64, 20).to(device)
sample = model.decode(sample).cpu()
在机器学习中,当我们完成训练时,我们会固定测试数据集的模型参数。这是我的两个问题:
(1) 在深度学习中,我们有训练、验证、测试数据集。代码test(epoch)
实际上是用于验证集吗?我们在那里修复模型参数并预测测试数据集outside the epoch loop
?
(2) 什么with torch.no_grad():
意思?为什么它也在里面epoch loop
?
非常感谢。
解决方案
推荐阅读
- javascript - Draft.js:制作编辑器内容多页
- html - 移动时的 CSS 过渡
- python - Python Pandas DF 附加到同一行
- node.js - 无法从 lambda 发送 Firebase 推送通知
- asp.net-mvc - 在 ASPNET.Core 3.1 中扩展 AspnetUserRoles 表的正确方法是什么?
- ssis - SSIS - 为什么从 excel 文件导入包含所有可能的行?
- r - n 个不同的最高/最低值的最小值、最大值、平均值,并将它们与时间序列数据一起绘制在 R 中的同一图表上
- ios - 不能在属性初始化程序中使用实例成员“userCard1”;属性初始化程序在“自我”可用之前运行错误
- git - 如何切换 github 账号并追溯更新提交历史?
- python-3.x - 我可以让 Python 使用 if 语句检查我的列表以查看用户输入是否包含我的列表中的字符串吗?如果没有,还有其他选择吗?