神经网络的输出

Output of a neural network

我用 mnist 数据集测试我的网络。因此模型的输出形状为 10。

如何重塑输出? 例如,如果输出是标签 3,那么输出是 [0 0 0 1 0 0 0 0 0 0] 还是 [0 0 0 3 0 0 0 0 0 0] 还是完全不同?

问题是我不想使用数据加载器。我用这个方法:

from mlxtend.data import loadlocal_mnist
X, y = loadlocal_mnist(
            images_path='/home/wai043/data/mnist/train-images-idx3-ubyte', 
            labels_path='/home/wai043/data/mnist/train-labels-idx1-ubyte')

如果标签为 3,则输出必须为 [0, 0, 0, 1, 0, 0, 0, 0, 0, 0]。从 loadlocal_mnist 获得的 y 参数具有直接标签,所以你需要在训练前"one-hot encode" y。

您可以使用以下代码进行编码

from mlxtend.preprocessing import one_hot
from mlxtend.data import loadlocal_mnist

X, y = loadlocal_mnist(images_path='/home/wai043/data/mnist/train-images-idx3-ubyte', 
                       labels_path='/home/wai043/data/mnist/train-labels-idx1-ubyte')
y = one_hot(y)