2016-06-17 11 views
0

私はそうする代わりに、逆方向にこのグラフを構築することが可能であるかどうかを疑問に思って:TesorFlowでグラフを後方に構築することはできますか?

n1 = tf.add(2,3) 
n2 = tf.add(2,n1) 
n3 = tf.add(n1,n2) 

この方法:

n1 = None 
n2 = None 
n3 = tf.add(n1,n2) 
n2 = tf.add(2,n1) 
n1 = tf.add(2,3) 

理想的には、追加の構造を持たない、必ずしもパフォーマンスの損失なし。

+0

私はあなたが必要とすることを行うための明白な方法はわかりませんが、あなたが解決しようとしているより大きな問題をもう少し説明できますか? Pythonバインディングは便利ですが、NodeDefを手作業で構築して、必要な方法でグラフを作成することができます。 –

答えて

1

のような標準的なTensorFlow操作の場合、すべて入力はオペレーションを構築する前に構築されていなければなりません。これは、誤って無効なグラフを作成することを困難にする意図的な設計選択です(たとえば、不正なサイクルで)。

しかし、Peteがhis commentに記載しているように、TensorFlow Pythonバインディングは、NodeDefプロトコルバッファを作成する関数のラッパーです。原則として、独自のラッパーを作成して、グラフを逆向きに作成することができます。しかし、ユースケースをよく理解することなく、標準ライブラリでこれをサポートすることはほとんどありません。

関連する問題