【发布时间】:2021-01-08 00:04:35
【问题描述】:
Tensorflow 正在杀死我,请帮助 :) 我在这里找到了一些关于我遇到的问题的答案,但它们没有用......我不明白为什么会收到这条消息:
InvalidArgumentError: Received a label value of 3 which is outside the valid range of [0, 3). Label values: 2 3 3 1 2 1 1 3 1 1 1 2 3 3 1 1 1 3 1 3 2 3 1 2 1 3 2 1 2 2 2 3
[[node sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits (defined at <ipython-input-68-069e54b769de>:2) ]] [Op:__inference_train_function_47373]
Function call stack:
train_function
我有三个输出标签,但错误提示 233121... 超过三个... 为什么?有趣的是,当我将最后一个密集层中的标签数量更改为 4 时,一切正常。但我不想要 4 个类,因为预测矩阵返回 4 列概率。
我的简单网络如下所示:
model = Sequential()
model.add(Embedding(len(word_index) + 1,
EMBEDDING_DIMENSION))
model.add(SpatialDropout1D(0.3))
model.add(Bidirectional(LSTM(EMBEDDING_DIMENSION)))
model.add(Dense(EMBEDDING_DIMENSION, activation='relu'))
model.add(Dropout(0.8))
model.add(Dense(EMBEDDING_DIMENSION, activation='relu'))
model.add(Dropout(0.8))
model.add(Dense(3, activation='softmax'))
我做错了什么?我有最新的 tf 2.3。我只在复制适用于原始数据的示例时更改数据输入...有什么想法吗?
【问题讨论】:
标签: python tensorflow nlp label model-fitting