Tensorflow 错误:”Label IDs must < n_classes",但我的标签ID似乎已经符合这一要求

我正在尝试创建一个Python 3程序,使用Tensorflow对句子进行分类。然而,当我尝试运行我的代码时,会出现一系列很长的错误。以下错误似乎是我问题的根本原因:

InvalidArgumentError: 断言失败:[Label IDs must < n_classes] [Condition x < y did not hold element-wise:x (linear/head/ToFloat:0) = ] [[4][4]1…] [y (linear/head/assert_range/Const:0) = ] 2

我使用Scikit-Learn的LabelEncoder()方法来创建标签ID,这应该符合这一要求;他们的文档页面上说,“将标签编码为0n_classes-1之间的值。”

我尝试运行的代码是:

我使用的data.csv文件是一小组无意义的测试数据:测试数据

我对如何继续感到有些不知所措。我只找到一个帖子提到了类似的问题在这里,但如果我理解正确的话,那个用户的问题似乎与我的问题性质不同。

任何见解都将不胜感激!


回答:

尝试这样做:

# 明确指定类别数量,例如10model = tf.estimator.LinearClassifier(feature_columns=feat_cols, n_classes=10)

默认值n_classes=2,这在内部意味着tensorflow使用sigmoid交叉熵损失。设置类别数量将使其变为softmax交叉熵。

Related Posts

L1-L2正则化的不同系数

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

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

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

f1_score metric in lightgbm

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

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

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

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

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

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

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

发表回复

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