I am not sure how can I make the learning process predictable. To learn starting from the same parameters each time.
I used this.
torch.manual_seed(0)
if torch.cuda.is_available(): torch.cuda.manual_seed_all(0)
torch.backends.cudnn.benchmark = False
np.random.seed(0)

But this is not enough. Any idea?