通常、クラス内のニューラルネットワークを介して関数を定義し、別のクラスで関数のパラメータまたは変数リストが必要な場合は、テンソルフローtf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, scope="function name")
、それは私には便利でよく知られていますが、他にも効率的な方法がたくさんあると思います。2つの異なるニューラルネットワークから2つの変数リストを取得する方法
しかし、いくつかのケースでは、我々はF(x) = F(NN_1(x), NN_2(x))
を言う、二つの異なるニューラルネットワーク上に構築された関数を定義する必要があり、その後、別のクラスでは、NN_1()
とNN_2()
両方の二つの変数のリストを取得するための正しい方法は何ですか?ここでtf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, scope="function name
を使用すると、NN_1
とNN_2
の2つの変数リストを含むF(x)
の混合変数リストが得られることは明らかです。名前スコープのツリー内
def function()
with tf.name_scope(function):
with tf.name_scope(subfunction_1):
neural_network_1
with tf.name_scope(subfunction_2):
neural_network_2