Tensorflow:ValueError:预期的非整数,得到<dtype:'int32'>
Posted
技术标签:
【中文标题】Tensorflow:ValueError:预期的非整数,得到<dtype:\'int32\'>【英文标题】:Tensorflow: ValueError: Expected non-integer, got <dtype: 'int32'>Tensorflow:ValueError:预期的非整数,得到<dtype:'int32'> 【发布时间】:2017-10-03 13:46:15 【问题描述】:我刚开始使用 Tensorflow,当我调用 m.fit(input_fn=lambda: self.input_fn(train_data), steps=train_steps)
时,我收到以下错误。
File "/Library/Python/2.7/site-packages/tensorflow/contrib/layers/python/layers/feature_column_ops.py", line 161, in _input_from_feature_columns
transformed_tensor = transformer.transform(column)
File "/Library/Python/2.7/site-packages/tensorflow/contrib/layers/python/layers/feature_column_ops.py", line 882, in transform
feature_column.insert_transformed_feature(self._columns_to_tensors)
File "/Library/Python/2.7/site-packages/tensorflow/contrib/layers/python/layers/feature_column.py", line 991, in insert_transformed_feature
self.sparse_id_column.insert_transformed_feature(columns_to_tensors)
File "/Library/Python/2.7/site-packages/tensorflow/contrib/layers/python/layers/feature_column.py", line 572, in insert_transformed_feature
name="lookup")
File "/Library/Python/2.7/site-packages/tensorflow/contrib/lookup/lookup_ops.py", line 1018, in index_table_from_tensor
"integer" if dtype.is_integer else "non-integer", keys.dtype))
ValueError: Expected non-integer, got <dtype: 'int32'>.
在我传递给fit()
的特征列中,只有int32
和int64
,但这应该不是问题吧?
【问题讨论】:
能否提供代码示例? 【参考方案1】:我认为您可能会使用带有tf.SparseTensor
的分类特征,但您的特征列包含int32
。
在这种情况下,只需将整数列转换为字符串,例如:
# using Pandas
for f in categorical_features:
df_train[f] = df_train[f].astype(str)
df_test[f] = df_test[f].astype(str)
【讨论】:
就是这样。谢谢!以上是关于Tensorflow:ValueError:预期的非整数,得到<dtype:'int32'>的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:检查目标时出错:预期dense_6的形状为(46,),但数组的形状为(1,)
ValueError:检查目标时出错:预期activation_6 的形状为(70,)但得到的数组形状为(71,)
ValueError:检查输入时出错:预期 input_1 有 4 个维度,但得到的数组具有形状(无、无、无)
Python | Keras:ValueError:检查目标时出错:预期conv2d_3有4个维度,但得到了有形状的数组(1006,5)