私は、テンソルフロー変数xといくつかの定数yを取得し、出力としてノードを返します。これは、それらの2つの方法に依存します。テンソルフローノードのベクトルを効率よく作成する
import tensorflow as tf
x = tf.Variable(3.0)
y = {"a" : 3, "b" : 1.0}
def make_graph(x, y):
return y["a"] * x**2 + y["b"]
私はY(y_vec)のような定数のリストを持っていると私は各要素に関数を適用して、これらのノードの合計、このような何かを計算したいと思います:私はその後
f = sum([ make_graph(x, y) for y in y_vec ])
をxに関してfを最適化したいもちろん、関数make_graphはもっと複雑になる可能性があります。問題は、非常に長いy_vecに対してこれを効率的に行う方法です。
もっと効率的にはどういう意味ですか? ['tf.sum_n'](https://www.tensorflow.org/api_docs/python/tf/add_n)ですべての追加を1つにまとめることができます。それは問題なのですか、それとも非常に多くの定数があり、それぞれのノードを作成したくないのですか?その場合は関数に依存しますが、おそらく何らかの放送操作や['tf.reduce_sum'](https://www.tensorflow.org/api_docs/python/tf/reduce_sum)が含まれます。 – jdehesa
@jdehesa問題は、あなたが書いているように、非常に多くの定数があり、それぞれのノードを作成したくないということです。 –