Setup su Colab
%config InlineBackend.figure_format='retina'Imposta la risoluzione di output per matplotlib e simili a retina.
Rumore
n_data = 10000x_numpy = -3+6*np.random.rand(n_data,1)# y_numpy = np.exp(-(x_numpy**2))*np.cos(10*x_numpy)y_numpy = np.exp(-(x_numpy**2))*np.cos(10*x_numpy) + 3e-2*np.random.randn(n_data,1)plt.figure(figsize=(8,5))plt.plot(x_numpy,y_numpy,'r.',ms=2)plt.show()x_torch = torch.Tensor(x_numpy).to(device)y_torch = torch.Tensor(y_numpy).to(device)print ("Done.") Il grafico sopra mostra la funzione originariamente intesa. Aggiungiamo il rumore. Il rumore viene implementato moltiplicando np.random.randn() per un piccolo valore reale di 3e-2, come mostrato nel codice sopra. 
Confronto degli Optimizer
  
Grafici che mostrano quanto bene il modello di ogni optimizer approssima la funzione alle epoche 500, 3500 e 9999. GT e la funzione target da approssimare.
Adam stava gia approssimando dall’inizio. Molto veloce. SGD e Momentum sembrano simili.