【发布时间】:2023-11-17 04:28:01
【问题描述】:
我正在尝试学习带有 2D 标签的 DDNRegressor:
estimator = tf.estimator.DNNRegressor(
hidden_units=[10,10],
feature_columns=feature_columns,
label_dimension=2
)
def train_input_fn():
return tf.estimator.inputs.pandas_input_fn(
x = train_df,
y = train_df[["coord_x", "coord_y"]],
batch_size=100,
num_epochs=1000,
shuffle=True
)
estimator.train(input_fn=train_input_fn())
但我卡住了错误:
TypeError: 无法将
类型的对象转换为张量。内容:{'coord_x': , 'coord_y': }。考虑将元素转换为支持的类型。
将二维标签从 Pandas DataFrame 传递到 tf.estimator.inputs.pandas_input_fn 的正确方法是什么?
谢谢
【问题讨论】:
-
您的输入 DF 是否包含所有数字? DL 库需要数字输入
-
@rock321987 是的,我的 DataFrame 中只有数字。
-
根据docs,如果 如果 x 已经包含与 y 同名的列,或者 x 和 y 的索引不匹配,则会引发错误乙>。但错误似乎与数据类型有关。
-
@rock321987 我尝试通过在
x中定义名称来排除列,但错误仍然相同。我确定x和y的名称没有交集。
标签: python pandas tensorflow regression