Notice that torch.randperm(len(train_inputs)) gives us a random permutation of the indices within the range 0 to length of training inputs minus 1. After the permutation of indices, each time ϕ_state is chosen from the input list at the index i. We input ϕ_state through the emulator function that has a linear output layer and we get next_state_prediction. Notice that the emulator is a neural netork defined as below:
Remarquons que torch.randperm(len(train_inputs)) nous donne une permutation aléatoire des indices dans la fourchette 0 à la longueur des entrées d’entrainement moins 1. Après la permutation des indices, chaque fois que ϕ_state est choisi dans la liste des entrées à l’index i. Nous entrons ϕ_state par la fonction de l’émulateur qui a une couche de sortie linéaire et nous obtenons next_state_prediction.