Transposición
La transposición mueve los valores según el significado de los ejes. Le dices el nuevo orden de los ejes y reorganiza en consecuencia.
chw = np.transpose(photo, (2, 0, 1)) # (3, 512, 512) — correcto
batch = np.stack([photo, photo, photo]) # (3, 512, 512, 3)
nchw = np.transpose(batch, (0, 3, 1, 2)) # (3, 3, 512, 512)
La tupla se lee como «el nuevo eje 0 es el viejo eje 2, el nuevo eje 1 es el viejo eje 0…».