2017-03-17 11 views
0

次のおもちゃのTensorFlowコードを考えてみましょう。 フィットメソッドLinearRegressorが正しく機能し、適切な係数(つまりy = x1 + x2)を見つけますが、評価(最後のprint文を参照)がハングします。どのようなアイデアが間違っている?Tensorflow LinearRegressor評価方法がハングする

import tensorflow as tf 

x1 = [1, 3, 4, 5, 1, 6, -1, -3] 
x2 = [5, 2, 1, 5, 0, 2, 4, 2] 
y = [6, 5,5, 10, 1, 8, 3, -1] 

def train_fn(): 
    return {'x1': tf.constant(x1), 'x2':tf.constant(x2)}, tf.constant(y) 


features = [tf.contrib.layers.real_valued_column('x1', dimension=1), 
      tf.contrib.layers.real_valued_column('x2', dimension=1)] 
estimator = tf.contrib.learn.LinearRegressor(feature_columns=features) 
estimator.fit(input_fn=train_fn, steps=10000) 

for vn in estimator.get_variable_names(): 
    print('variable name', vn, estimator.get_variable_value(vn)) 
print(estimator.evaluate(input_fn=train_fn)) 

答えて

1

estimator.evaluate()「無限」として解釈さNoneデフォルトパラメータstepsをとります。従ってそれは決して終わらない。それ最後作るために

、明示的steps=1を渡す:

estimator.evaluate(input_fn=your_input_fn, steps=1) 
関連する問題