【发布时间】:2017-05-30 20:46:15
【问题描述】:
这与问题skflow regression predict multiple values 非常相似。然而,更高版本的 TensorFlow 似乎已经过时了这个问题的答案。
我希望能够在 TensorFlow Learn 回归神经网络 (DNNRegressor) 中拥有多个输出神经元。我升级了引用问题中的代码以解决 TensorFlow 中的重大更改,但仍然出现错误。
import numpy as np
import tensorflow.contrib.learn as skflow
import tensorflow as tf
from sklearn.metrics import mean_squared_error
# Create random dataset.
rng = np.random.RandomState(1)
X = np.sort(200 * rng.rand(100, 1) - 100, axis=0)
y = np.array([np.pi * np.sin(X).ravel(), np.pi * np.cos(X).ravel()]).T
# Fit regression DNN model.
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=X.shape[0])]
regressor = skflow.DNNRegressor(hidden_units=[5, 5],feature_columns=feature_columns)
regressor.fit(X, y)
score = mean_squared_error(regressor.predict(X), y)
print("Mean Squared Error: {0:f}".format(score))
但这会导致:
ValueError: Shapes (?, 1) and (?, 2) are incompatible
我没有看到任何关于重大更改的发行说明,表明多个输出的方法已更改。还有其他方法吗?
【问题讨论】:
标签: tensorflow skflow