当前位置: 首页 > 知识库问答 >
问题:

DNNCLassifier Tensorflow上的标签键类型错误

冯澄邈
2023-03-14

我想将标签嵌入Tensorflow中的DNNClassifier模型。与文档示例不同,在这里,我得到以下错误消息

label_keys_values = ["satan", "ipsweep", "nmap", "portsweep"]  
m = tf.contrib.learn.DNNClassifier(model_dir=model_dir,
                                  feature_columns=deep_columns,
                                  n_classes=4,
                                  hidden_units=[12, 4],
                                  label_keys=label_keys_values)
m.fit(input_fn=train_input_fn, steps=200)

文件"embedding_model_probe.py",第118行,m.fit(input_fn=train_input_fn,步骤=200)文件"/usr/本地/lib/python2.7/dist-包/Tenorflow/python/util/deprecation.py",第281行,new_func返回func(*args,**kwargs)文件"/usr/local/lib/python2.7/dist-包/tenstorflow/contrib/学习/python/学习/估计器/estimator.py",第430行,在适合损失=自我。_train_model(input_fn=input_fn,钩子=钩子)File"/usr/local/lib/python2.7/dist-包/tenstorflow/contrib/学习/python/学习/估计器/<--plhd--4_get_train_ops(功能,标签)File"/usr/local/lib/python2.7/dist-包/tenstorflow/contrib/学/python/学/估计器/estimator.py",第1132行,_get_train_ops返回自己。_call_model_fn(功能,标签,model_fn_lib。ModeKeys.TRAIN)File"/usr/local/lib/python2.7/dist-包/tenstorflow/contrib/学/python/学/估计器/estimator.py",第1103行,_call_model_fnmodel_fn_results=自。_model_fn(功能,标签,**kwargs)File"/usr/local/lib/python2.7/dist-包/tenstorflow/contrib/学/python/学/估计器/dnn.py",第180行,_dnn_model_fnlogits=logits)File"/usr/local/lib/python2.7/dist-包/tenstorflow/contrib/学/python/学/估计器/head.py",第1004行,create_model_fn_ops标签=自我。_transform_labels(模式=模式,标签=标签)File"/usr/本地/lib/python2.7/dist-包/tensorflow/contrib/学习/python/学习/估计器/head.py",第1033行,_transform_labels"label_ids":table.lookup(labels_tensor),File"/usr/loc/lib/python2.7/dist-包/tensorflow/contrib/lookup/lookup_ops.py",第179行,在查找(自我。_key_dtype,keys.dtype))打字错误:签名不匹配。密钥必须是dtype

另一方面,如果我将label_key_values列设为numpy.array,则会得到以下错误:

label_keys_values = np.array(["satan", "ipsweep", "nmap", "portsweep"], dtype='string')

回溯(最后一次调用):文件“Embedded_model_probe.py”,第116行,在label_keys=label_keys_values)文件/usr/local/lib/python2.7/dist packages/tensorflow/contrib/learn/python/estimators/dnn.py中,第337行,在init label_keys=label_keys)文件中“/usr/local/lib/python2。7/dist包/tensorflow/contrib/learn/python/learn/estimators/head。py“,第331行,在多类头标签(keys=标签(keys))文件“/usr/local/lib/python2中。7/dist包/tensorflow/contrib/learn/python/learn/estimators/head。py“,第986行,在init if label_keys和len(label_keys)!=n_classes:ValueError:具有多个元素的数组的真值不明确。请使用a.any()或a.all()

共有1个答案

东方旭东
2023-03-14

我找到了解决办法。正如官方文件所说:

"如果用户在构造函数中指定label_keys,则标签必须是来自label_keys词汇表的字符串。"

在我的例子中,我将训练和测试集中的标签列转换为一个热向量(整数值),并且label\u keys\u values数组中的值与它们不匹配。

 类似资料:
  • 我正在y_test并y_pred混淆矩阵。我的数据用于多标签分类,因此行值是一种热编码。 我的数据有30个标签,但在输入混淆矩阵后,输出只有11行和列,这让我很困惑。我想我应该有一辆30X30的。 它们的格式是numpy数组。(y\u test和y\u pred是我使用dataframe.values将其转换为numpy数组的数据帧) y\U测试。形状 y_test y\u预测。形状 y\u预测

  • 我希望javafx标签自动更新为正在输入到文本字段中的内容,目前我只有在单击回车键时才更改它。我正在使用秋千和javafx的混合。 这可能吗? 谢谢

  • 嗨,我正在使用Laravel和Redis。当我尝试通过get方法访问密钥时,会出现以下错误“对持有错误类型值的密钥进行WRONGTYPE操作” 我使用以下代码来访问键值- 我使用此代码从redis获取数据

  • 问题内容: 我有一些HTML和jQuery,它们会在单击链接时上下滑动以显示或隐藏它: 我的问题是:如何使用链接来停止链接并在URL末尾添加“#”并跳转到页面顶部? 我找不到正确的语法,只是不断出现错误 preventDefault()不是函数。 问题答案: 尝试类似的东西: 这是jQuery文档中有关该页面的页面

  • 问题内容: 我尝试运行以下代码。顺便说一句,我是python和sklearn的新手。 其中y是0和1的np.ndarray 我收到以下信息: 文件“ C:\ Anaconda3 \ lib \ site-packages \ sklearn \ linear_model \ logistic.py”,行> 1174,适合check_classification_targets(y) 文件“ C:\

  • 我正在尝试用Android Studio构建singed apk。 当我按下按钮创建签名的apk时,出现以下错误: 错误:类型为anim[ResourceType]的预期资源 这一行java代码显示出来了 创建未签名的apk没有任何问题。刚刚在烧焦的apk。 请帮帮我。 非常感谢。