def classification_accuracy(Q, data_loader):
Q.eval()
labels = []
test_loss = 0
correct = 0
for batch_idx, (X, target) in enumerate(data_loader):
X = X * 0.3081 + 0.1307
X.resize_(data_loader.batch_size, X_dim)
X, target = Variable(X), Variable(target)
if cuda:
X, target = X.cuda(), target.cuda()
labels.extend(target.data.tolist())
# Reconstruction phase
output = Q(X)[0]
test_loss += F.nll_loss(output, target).data[0]
pred = output.data.max(1)[1]
correct += pred.eq(target.data).cpu().sum()
test_loss /= len(data_loader)
return 100. * correct / len(data_loader.dataset)
####################
# Train procedure
####################
评论列表
文章目录