Entendimento == aplicado a uma matriz NumPy

Eu sou novo no Python e estou aprendendoTensorFlow. Em um tutorial usando oconjunto de dados notMNIST, eles fornecem código de exemplo para transformar a matriz de rótulos em uma matriz codificada uma de n.

O objetivo é pegar uma matriz que consiste nos números inteiros de etiqueta 0 ... 9 e retornar uma matriz na qual cada número inteiro foi transformado em uma matriz codificada como uma de n como esta:

0 -> [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1 -> [0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
2 -> [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
...

O código que eles fornecem para fazer isso é:

# Map 0 to [1.0, 0.0, 0.0 ...], 1 to [0.0, 1.0, 0.0 ...]
labels = (np.arange(num_labels) == labels[:,None]).astype(np.float32)

No entanto, não entendo como esse código faz isso. Parece que apenas gera uma matriz de números inteiros no intervalo de 0 a 9 e, em seguida, compara isso com a matriz de etiquetas e converte o resultado em um ponto flutuante. Como é que um== operador resultar em ummatriz codificada uma de n?

questionAnswers(2)

yourAnswerToTheQuestion