Следующий код отлично работает для обучения и прогнозирования.
x_data = np.linspace(0, 10.0, 1000)
print(x_data.shape)
y_true = (0.5 * x_data) + 5
print(y_true.shape)
x_train, x_eval, y_train, y_eval = train_test_split(x_data, y_true, test_size=0.25, random_state=101)
train_func = tf.estimator.inputs.numpy_input_fn({'x': x_train}, y_train, batch_size=8, num_epochs=10, shuffle=True)
features = [tf.contrib.layers.real_valued_column("x", dimension=1)]
estimator = tf.estimator.LinearRegressor(feature_columns=features)
estimator.train(input_fn=train_func, steps=100) # Fit the model to training data.
eval_func = tf.estimator.inputs.numpy_input_fn({'x': x_eval}, batch_size=1, num_epochs=1, shuffle=False)
result = estimator.predict(eval_func) # Predict scores
print("predict_scores", list(result))