【发布时间】:2017-12-19 08:28:53
【问题描述】:
有没有更简单的方法来设置数据加载器,因为在自动编码器的情况下输入和目标数据是相同的,并且在训练期间加载数据? DataLoader 始终需要两个输入。
目前我这样定义我的数据加载器:
X_train = rnd.random((300,100))
X_val = rnd.random((75,100))
train = data_utils.TensorDataset(torch.from_numpy(X_train).float(), torch.from_numpy(X_train).float())
val = data_utils.TensorDataset(torch.from_numpy(X_val).float(), torch.from_numpy(X_val).float())
train_loader= data_utils.DataLoader(train, batch_size=1)
val_loader = data_utils.DataLoader(val, batch_size=1)
然后像这样训练:
for epoch in range(50):
for batch_idx, (data, target) in enumerate(train_loader):
data, target = Variable(data), Variable(target).detach()
optimizer.zero_grad()
output = model(data, x)
loss = criterion(output, target)
【问题讨论】:
标签: autoencoder pytorch