Le code est plutôt simple dans sa conception. Je pense que ce que tu dois comprendre c'est surtout le fonctionnement de tensorflow.
Je sais pas où tu en es donc je vais faire court:
- L'objectif de l'application est de créer un graph d'opération
- Quand on appelle sess.run, on lance les opérations du graphe
- Souvent, tensorflow est utilisé avec un optimizer, l'optimizer a une fonction de minimisation qui fera varier les variables par descente de gradient en fonction de leur influence sur le résultat à minimiser
Une fois qu'on sait ça. T'as des entrées (x), et des sorties (y), t'appliques un layer dense (qui contient implicitement des variables que sont les poids) pour prédire les y à partir des x (y_pred = f(x)), tu calcules l'écart entre la prédiction et la réalité (la loss), tu minimises la loss via l'optimizer et tu calcules les deux avec sess.run. Le retour de minimize() a pas d'importance (cf la doc), on affiche juste la loss pour vérifier qu'elle descend et que le réseau converge.
C'est un exemple trivial mais pertinent.
Je te renvoies à la documentation et à stackoverflow pour toutes les fonctions dans le détail.