2017-11-14 8 views
0

私はTensorフローを学習し、各繰り返し期間を要約変数に取り込もうとしています。私は()各反復tf.assign()を使用して変数に値が一貫して割り当てられていません

t = tf.Variable(0.0, tf.float64) 

2)を実行し、反復して出力時間を、開始/終了時間をキャプチャするために、私はコード

1)テンソルを定義を以下にまとめる特有の問題にそれを認識しています私は、コードを実行すると

with tf.Session() as sess: 
    sess.run(tf.variables_initializer(tf.global_variables())) 
    for i in range(20): 
     _ = time.time() 
     sess.run(tf.assign(t,_)) #update 't' tensor value to start time 
     print("time_1: {}, time_2_tensor: {} ".format(_,sess.run(t))) 

は、私は疑問に思うなぜTIME_1 & time_2_tensor値の間に大きな乖離(4-5秒)。 !1510622147.797711、time_2_tensor:1510622208.0

TIME_1:1510622147.823721、time_2_tensor:1510622208.0

TIME_1ここで出力(TIME_1がより正しいようだ、とtime_2_tensorは将来の時間とすべて同じ値だなぜだろ

TIME_1です:1510622147.846073、time_2_tensor:1510622208.0

TIME_1:1510622147.872359、time_2_tensor:1510622208.0

TIME_1:1510622147.893345、time_2_tensor:1510622208.0

TIME_1:1510622147.913889、time_2_tensor:1510622208.0

TIME_1:1510622147.94033、time_2_tensor:1510622208.0

TIME_1:1510622147.960254、time_2_tensor:1510622208.0

TIME_1:1510622147.98226、time_2_tensor: 1510622208.0

time_1:1510622148.007267、time_2_tensor:1510622208.0

TIME_1:1510622148.045414、time_2_tensor:1510622208.0

TIME_1:1510622148.072437、time_2_tensor:1510622208.0

TIME_1:1510622148.104469、time_2_tensor:1510622208.0

TIME_1:1510622148.124364、time_2_tensor:1510622208.0

TIME_1:1510622148.143735 、time_2_tensor:1510622208.0

time_1:1510622148.161832、time_2_tensor:1510622208.0

TIME_1:1510622148.179756、time_2_tensor:1510622208.0

TIME_1:1510622148.216838、time_2_tensor:1510622208.0

TIME_1:1510622148.235228、time_2_tensor:1510622208.0

TIME_1:1510622148.254686、time_2_tensor:1510622208。0

ありがとうございました!

答えて

2

変数を宣言するとき(少なくともv1.4の引数trainableを代用しています)、データ型が考慮されていないため、float32になり、精度の問題が発生します。

キーワードdtypeを追加すると機能します。

t = tf.Variable(0.0, dtype=tf.float64) 

'実験':

t_bad = tf.Variable(0.0, tf.float64) 
t = tf.Variable(0.0, dtype=tf.float64) 

print(t_bad.dtype) # <dtype: 'float32_ref'> 
print(t.dtype) # <dtype: 'float64_ref'> 
+0

おかげでトン!私は半日のフルナッツを運転していた。私は浮動小数点のオーバーフローと関係があるが、dtype引数を明示的に言わなければならないことを知っている。 –

関連する問題