Tensorflow – 接收到的标签值为99,超出了有效范围[0, 10)

我在尝试制作一个cifar100模型。当我开始训练模型时,遇到了这个错误

节点: ‘sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits’接收到的标签值为99,超出了有效范围[0, 10)。标签值: 1 47 23 85 26 78 60 78 26 85 11 13 24 60 1 65 97 7 14 59 20 35 94 65 79 43 24 78 47 41 0 91 56 2 63 78 32 96 87 32 62 71 2 16 79 60 61 37 82 92 28 55 7 71 14 14 85 69 12 48 3 26 18 26 96 69 10 34 28 96 88 13 99 17 69 65 12 92 46 89 41 93 23 13 2 93 87 83 72 27 49 7 65 48 39 73 51 79 22 22[[{{node sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits}}]] [Op:__inference_train_function_657]

我的代码是

import tensorflow as tfimport tensorflow.keras.datasets as datasetsimport numpy as npimport matplotlib.pyplot as pltdataset = datasets.cifar100(training_images, training_labels), (validation_images, validation_labels) = dataset.load_data()training_images = training_images / 255.0validation_images = validation_images / 255.0model = tf.keras.Sequential([                                    tf.keras.layers.Flatten(input_shape=(32,32,3)),                                    tf.keras.layers.Dense(500, activation='relu'),                                    tf.keras.layers.Dense(300, activation='relu'),                                    tf.keras.layers.Dense(10, activation= 'softmax')                                    ])model.compile(optimizer='adam',              loss=tf.keras.losses.SparseCategoricalCrossentropy(),              metrics=['accuracy'])history = model.fit(training_images,                    training_labels,                    batch_size=100,                    epochs=10,                    validation_data = (validation_images, validation_labels)                    )

我使用的是Ubuntu 22.04


回答:

你的数据集由100个不同的类别组成,而不是10个,所以在“cifar100”中才有100。因此,只需更改代码中的这一行:

 tf.keras.layers.Dense(100, activation= 'softmax')

这样就能正常工作了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注