2017-05-23 17 views
1

(つまり:x1、y2)は一様分布で初期化されていますが、結果をプリントアウトすると期待したものではありません。Tensorflowで正しく動作しない

これは私のコードである:

x1 = tf.random_uniform([1], 0, 10, tf.int32) 
y1 = tf.random_uniform([1], 0, 10, tf.int32) 

subtraction = x1 - y1 

with tf.Session() as sess: 

    print(sess.run(x1)) 
    print(sess.run(y1)) 
    print(sess.run(subtraction)) 

これは結果である:

[6]

[2]

[0]

答えて

2

あなたのコードでは、x1y1は乱数発生器です。彼らは彼らが呼び出されるたびに異なる値を取る。だから、電話番号x1y1を呼び出すsubtractionに電話をかけても、以前の呼び出しと一致する結果を得る理由はありません。あなたが探しているものを達成するために

Variableに値を格納します。また

import tensorflow as tf 

x1 = tf.Variable(tf.random_uniform([1], 0, 10, tf.int32)) 
y1 = tf.Variable(tf.random_uniform([1], 0, 10, tf.int32)) 

subtraction = x1 - y1 

with tf.Session() as sess: 
    sess.run(tf.global_variables_initializer()) 
    print(sess.run(x1)) 
    print(sess.run(y1)) 
    print(sess.run(subtraction)) 

、あなたは反復間の永続性を必要としないし、一度にあなたの番号ジェネレータに依存するすべての演算子を呼び出すことができる場合sess.run

import tensorflow as tf 

x1 = tf.random_uniform([1], 0, 10, tf.int32) 
y1 = tf.random_uniform([1], 0, 10, tf.int32) 

subtraction = x1 - y1 

with tf.Session() as sess: 
    print(sess.run([x1, y1, subtraction])) 
と同じ呼び出しにそれらをパックします
関連する問題