神经网络的输出

2024-09-28 22:21:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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

如何重塑输出? 例如,如果输出是标签3,那么输出是[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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')

Tags: 数据path模型网络homedatalabelstrain
1条回答
网友
1楼 · 发布于 2024-09-28 22:21:41

如果标签为3,则输出必须为[0,0,0,1,0,0,0,0],从loadlocal\u mnist获取的y参数具有直接标签,因此需要在训练前对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)

相关问题 更多 >