Tensorflow 数据类型应为整数而不是 float64

我试图使用张量流线性分类器估计器预测未来的平均温度。目标特征为 float64 类型,用于预测平均温度的其他特征也是 float64。


以下是我用于将特征转换为tf数字列的方法。


for feature_name in NUMERIC_COLUMNS:

    feature_columns.append(tf.feature_column.numeric_column(

        feature_name, dtype=tf.float64))

我创建线性估计器,如下所示


    feature_columns=feature_columns, n_classes=4)

在训练模型时,我得到以下错误。


WARNING:tensorflow:Layer linear/linear_model is casting an input tensor from

dtype float64 to the layer's dtype of float32,

which is new behavior in TensorFlow 2.  The layer has dtype float32 

because it's dtype defaults to floatx.


Exception has occurred: ValueError

Labels dtype should be integer. Instead got <dtype: 'float64'>.

我正在努力理解为什么会考虑到我明确表示我希望所有功能都是float64类型。


ibeautiful
浏览 135回答 2
2回答

慕神8447489

这是一个简单的错误,我使用实际上我应该使用的地方,因为它是我试图预测的浮点值。tf.estimator.LinearClassifiertf.estimator.LinearRegressor解决方案是更改 tf 估计器类型,并从模型创建中删除。n_classes

侃侃无极

该错误告诉您不能将浮点数用作输出类。这是完全公平的,因为你正在做分类而不是回归。将标签转换为整数(从代码中看不出目标列是什么),代码应该运行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python