49317


tensorflowでplaceholderを使用するとき、feed_dictでfeedする際にその変数が適用されるタイミングというのは、placeholderが宣言されている時点でfeedされるのでしょうか？  
それとも、placeholderで宣言された変数が式として使われる時でしょうか？  
言葉で説明するのが難しいので下に例を書かせていただきます。

[code]

    import tensorflow as tf
    
    x = tf.placeholder(dtype=tf.float32, shape=[2, 2], name='tf_x')    ←①
    y = tf.placeholder(dtype=tf.float32, shape=[2, 2], name='tf_y')
    
    #// 別のコードを挟む //
    
    add = tf.add(x, y, name='add_op')     ←②
    
    g = tf.Graph()
    with tf.Session(graph=g) as sess:
        feed = {'tf_x:0' : 4,
                'tf_y:0' : 5}
        result = sess.run('add_op:0', feed_dict=feed)    
    
[/code]

この場合、①と②のどちらの時点で変数がfeedされるのでしょうか？  
それとも、そもそもtensorflowの計算グラフの概念の考え方が違いますでしょうか？


CC BY-SA 4.0
2018-10-13T02:23:36.770
49234
2018-10-17T14:09:27.823
2018-10-17T14:09:27.823
29506
29506
question
python tensorflow
tensorflowライブラリにおけるplaceholderのちょっとした疑問


変数がfeedされるというのは、「Tensorに値がセットされる」という意味でしょうか？  
1と2で差があらわれる例を示していただいた方が、疑問点がわかりやすいです。

Tensorflowの動作としては、  
0\. 計算グラフが構築される  
1\. sess.runが実行される  
2\. placeholder xに値がセットされる  
3\. tf.addが計算される  
という順序になります。


CC BY-SA 4.0
2018-10-15T16:09:02.700
49317
2018-10-15T16:09:02.700
30535
49234
answer