【发布时间】:2018-06-08 01:45:14
【问题描述】:
我对 tensorflow 很陌生,为了学习使用它,我目前正在尝试实现一个非常简单的 DNNRegressor,它可以预测物体在 2D 中的移动,但我似乎无法使用 predict 函数。
为此,我有一些输入数据 - 在许多先前的时间步长中对象的 x 和 y 坐标。如果对象继续以相同的速度沿相同方向移动,我希望输出能够合理估计对象的位置。
我使用的是 tensorflow 1.8.0 版
我的回归量是这样定义的:
CSV_COLUMN_NAMES = ['X_0', 'X_1', 'X_2', 'X_3', 'X_4', 'Y_0', 'Y_1', 'Y_2', 'Y_3', 'Y_4', 'Y_5']
my_feature_columns = []
for key in columnNames:
my_feature_columns.append(tf.feature_column.numeric_column(key=key))
regressor = estimator.DNNRegressor(feature_columns=my_feature_columns,
label_dimension=1,
hidden_units=hidden_layers,
model_dir=MODEL_PATH,
dropout=dropout,
config=test_config)
我的输入,就像 tensorflow 教程中关于预制估计器的输入一样,是一个以列为键的字典。 可以看到此输入的示例here。
regressor.train(arguments) 和 regressor.evaluate(arguments) 似乎工作得很好,但 predict 不行。
与tensorflow site上的代码平行我尝试这样做:
y_pred = regressor.predict(input_fn=eval_input_fn(X_test, labels=None, batch_size=1))
而且它似乎也有效。
我现在面临的问题是我无法从 y_pred 对象中得到任何东西。
当我输入print(y_pred) 时,我得到<generator object Estimator.predict at 0x7fd9e8899888>,这表明我应该能够迭代它,但是
for elem in y_pred:
print(elem)
结果为@987654329@
再次,我对此很陌生,如果答案很明显,我很抱歉,但如果有人能告诉我我在这里做错了什么,我将不胜感激。
【问题讨论】:
标签: python tensorflow tensorflow-estimator