tensorflow:铸造<;数据类型:';int64'&燃气轮机;标签到bool
我正在运行代码,没有任何更改,我得到了错误:tensorflow:铸造<;数据类型:';int64'&燃气轮机;标签到bool,tensorflow,Tensorflow,我正在运行代码,没有任何更改,我得到了错误: WARNING:tensorflow:Casting <dtype: 'int64'> labels to bool. 警告:tensorflow:将标签强制转换为bool。 我的问题是:这意味着什么?这将如何影响我想要预测2个以上可能结果的其他模型 此错误出现在预测为布尔值、是/否的情况/教程中。但是如果我有三个可能值的标签,我想这个布尔转换会扼杀我的结果,对吗 此警告的来源是什么?如何避免此警告,以便我可以训练具有两个以上可能结果
WARNING:tensorflow:Casting <dtype: 'int64'> labels to bool.
警告:tensorflow:将标签强制转换为bool。
我的问题是:这意味着什么?这将如何影响我想要预测2个以上可能结果的其他模型
此错误出现在预测为布尔值、是/否的情况/教程中。但是如果我有三个可能值的标签,我想这个布尔转换会扼杀我的结果,对吗
此警告的来源是什么?如何避免此警告,以便我可以训练具有两个以上可能结果的网络?使用DNNClassifier时,我遇到了完全相同的错误。要解决这个问题,我需要将
n_classes
参数指定为目标中的类数
n_classes
参数用于指定目标中的类数。默认情况下,它假定目标中只有两个类,因此将目标值转换为布尔值
m = tf.contrib.learn.DNNClassifier(
model_dir=model_dir,
n_classes=10, # <---------
feature_columns=deep_columns,
hidden_units=[400,50],
optimizer=tf.train.ProximalAdagradOptimizer(
learning_rate=0.001,
l1_regularization_strength=0.001
))
m=tf.contrib.learn.DNNClassifier(
model_dir=model_dir,
n_classes=10,#我在本教程中使用tf.contrib.learn.LinearClassifier
时遇到此错误:
然而,在我的例子中,问题在于在本教程的输入中定义标签张量
df[LABEL_COLUMN] = (df["income_bracket"].apply(lambda x: ">50K" in x)).astype(int)
修复方法是将类型更改为bool:
df[LABEL_COLUMN] = (df["income_bracket"].apply(lambda x: ">50K" in x)).astype(bool)
你能解释一下这个问题中的n_classes
变化吗?n_classes参数是指定目标中有多少个类。默认情况下,它假定目标中只有两个类,所以它将目标值转换为bool。