in src/train.py [0:0]
def validate(model, dataset, problem, opts):
# Validate
print(f'\nValidating on {dataset.size} samples from {dataset.filename}...')
cost = rollout(model, dataset, opts)
gt_cost = rollout_groundtruth(problem, dataset, opts)
opt_gap = ((cost/gt_cost - 1) * 100)
print('{} Validation groundtruth cost={:.3f}+-{:.3f}'.format(dataset.filename,
gt_cost.mean(), torch.std(gt_cost)))
print('{} Validation average cost={:.3f}+-{:.3f}'.format(dataset.filename,
cost.mean(), torch.std(cost)))
print('{} Validation optimality gap={:.3f}%+-{:.3f}'.format(dataset.filename,
opt_gap.mean(), torch.std(opt_gap)))
return cost.mean(), opt_gap.mean()