Desplegado
Desplegado — reorganizar un tensor como matriz. Mueve el eje k al frente y luego aplana todo lo demás en un solo eje largo.
def unfold(T, axis):
return np.moveaxis(T, axis, 0).reshape(T.shape[axis], -1)
unfold(photo, 0).shape # (512, 1536) — las filas son el eje de alto
unfold(photo, 2).shape # (3, 262144) — las filas son los 3 canales de color
El desplegado no pierde nada. Solo reorganiza. Toda herramienta matricial que conoces, la SVD incluida, ya se le puede aplicar.