python - 如何在 Pytorch 模型中添加验证和测试集?
问题描述
Model ANN( X = [1000,3] , Y = [1000,8] )
我有一个隐藏的非线性回归Layer(Nh = 6)
。
如何在此模型中添加验证(10% 数据集)和测试集(10% 数据集)?
模型 :
N, D_in, H, D_out = x.shape[0], x.shape[1], 6, y.shape[1]
model = nn.Sequential(OrderedDict([ ('fc1', nn.Linear(D_in, H)),
#('Sig', nn.Sigmoid()),
('ISRU', ISRU()), # Add ISRU
('fc2', nn.Linear(H, D_out))]))
# Error -----
loss_fn = torch.nn.L1Loss(reduction='mean')
# Train -----
optimizer = torch.optim.Adam(model.parameters(), lr=1,eps=2**(-EPS))
epoch = 250
for t in range(epoch):
# Forward pass: compute predicted y by passing x to the model.
clear_output(wait=True)
y_pred = model(X)
# Compute and print loss.
loss = loss_fn(y_pred, Y)
if t % 100 == 99:
print(t, loss.item())
optimizer.zero_grad() ;
loss.backward() ;
optimizer.step() ;
if loss.item() < diff : lista = np.vstack((lista, [loss.item(),2,EPS])) ; diff = loss.item()
解决方案
数据的训练/验证/测试拆分与模型“正交”。
要管理用于训练/测试的数据,您可能需要使用 pytorch 的TensorDataset
. 然后,您可能会发现Subset
将数据集拆分为训练/验证/测试子集很有用。
推荐阅读
- python - 需要帮助使用带括号的字符串
- keycloak - 是否可以从 Keycloak 中检索 AUTH_SESSION_ID cookie?
- r - Anova 测试 - 具有两个因素比较的单独组
- ibm-cloud - 上传后 bluemix 应用程序推送挂起
- ios - 使用 PinLayout 制作网格视图
- python - 组合 2 个列表,每次 n 个元素
- swift - 在 Swift 中,为什么错误“类型别名引用自身”取决于类型别名的定义位置?
- excel - 插入的带有单元格引用的公式无法识别新输入
- html - 整个浏览器宽度上的 CSS 三角形
- typo3 - 创建自定义 TER (TYPO3) 服务器