Vectorisation d'une image (aplatir 28×28 en 784)

Idée

Coucher la matrice à plat en mettant ses lignes bout à bout : on obtient un long vecteur de 784 nombres au lieu d'un carré 28×28.

Outil

Identification canonique $\mathcal{M}_{n,p}(\mathbb{R}) \simeq \mathbb{R}^{np}$ — l'isomorphisme d'aplatissement qu'on utilise en algèbre linéaire pour passer d'une matrice à un vecteur de coefficients.

Formule

Cell 5 contient X = inputs.view(60000, 28*28).T.float(). Sans regarder, expliquer pourquoi le .T est nécessaire et ce qu'il met dans quelle dimension.

Piège

Pour un batch de N images 28×28, .flatten() donné un vecteur de N×784 éléments — mauvaise forme. Il faut préserver la dimension batch : .view(N, 28*28) ou .reshape(N, 784). Conséquence du mauvais reshape : le réseau prend N×784 entrées au lieu de N exemples de 784 features → erreur de dimension fatale ou silencieuse.