2016-06-20 6 views
7

私は基本的に、グラフの中央に入力を入力し、そこから出力を計算するオプションが必要です。私が持っていた1つのアイデアは、ゼロテンソルにデフォルトするtf.placeholder_with_defaultを使用することです。次に、オプションの入力を加算して混合することもできますが、大きなシェイプに追加すると不要な計算が多いようです。それを達成する良い方法はありますか?TensorFlowでオプションの入力をグラフに追加するにはどうすればよいですか?

input_enabled = tf.placeholder_with_default(tf.constant(1.), [1]) 

input_shape = [None, in_size] 
input = tf.placeholder_with_default(tf.zeros(input_shape), input_shape) 
// ... 
bottleneck_shape = [None, bottleneck_size] 
bottleneck = input_enabled * f(prev_layer) + tf.placeholder_with_default(tf.zeros(bottleneck_shape), bottleneck_shape) 
// ... 

// Using graph with input at first layer: 
sess.run([output], feed_dict={input: x}) 

// Using graph with input at bottleneck layer: 
sess.run([output], feed_dict={bottleneck: b, input_enabled: 0.}) 
+0

問題の具体的な概要を教えてください。あなたはどんなタイプのオプション入力をしたいのですか? –

+0

Aはオートエンコーダのようなグラフを持っており、トレーニング用に使用したのと同じグラフでボトルネックへの入力としてコードを再構築したいと思います。 –

+0

あなたが今変更したい 'tf.placeholder_with_default'を持つコードの部分を与えることができますか? –

答えて

10

私はあなたのコードのおかげでより良いことを理解しています。

は、基本的にはスキーマは次のとおりです。

  1. 電車

     input  <- you can feed here 
         |   
        (encoder) 
         | 
        bottleneck <- you can also feed here instead 
         | 
        (decoder) 
         | 
         output 
    

    は、次の2つのユースケースをしたい計算、inputに出力した画像を養う

  2. テスト :コードをボトルネックに送り、出力を計算するドキュメントから

    input_shape = [None, in_size] 
    input = tf.placeholder(tf.float32, input_shape) 
    # ... 
    
    bottleneck = f(prev_layer) # of shape [None, bottleneck_size] 
    # ... 
    
    # Using graph with input at first layer: 
    sess.run([output], feed_dict={input: x}) 
    
    # Using graph with input at bottleneck layer: 
    sess.run([output], feed_dict={bottleneck: b}) 
    

    sess.run()はあなたが以外のプレースホルダグラフでに値を供給することができますので、あなたは、bottleneckのプレースホルダを作成する必要はありません


sess.run()

オプションのfeed_dict引数を使用すると、呼び出し元はグラフのテンソルの値を上書きできます。 feed_dictの各キーは、次のタイプのいずれかになります。

キーがテンソルの場合、値はそのテンソルと同じdtypeに変換できるPythonスカラー、文字列、リスト、またはnumpyのndarrayです。さらに、キーがプレースホルダーである場合、値の形状はプレースホルダーとの互換性がチェックされます。

関連する問題