def validate()

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()