Theano-shared-variables

提供:Dev Guides
移動先:案内検索

Theano-シェア変数

多くの場合、異なる関数間および同じ関数の複数の呼び出し間で共有される変数を作成する必要があります。 例を挙げると、ニューラルネットワークのトレーニング中に、考慮中の各機能に重みを割り当てるための重みベクトルを作成します。 このベクトルは、ネットワークトレーニング中の反復ごとに変更されます。 したがって、同じ関数の複数の呼び出しでグローバルにアクセスできる必要があります。 そのため、この目的のためにシェア変数を作成します。 通常、Theanoは、共有変数が利用可能な場合、そのような共有変数をGPUに移動します。 これにより、計算が高速化されます。

構文

あなたは次の構文を使用してシェア変数を作成します-

import numpy
W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')

ここでは、4つの浮動小数点数で構成されるNumPy配列が作成されます。 W 値を設定/取得するには、次のコードスニペットを使用します-

import numpy
W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')
print ("Original: ", W.get_value())
print ("Setting new values (0.5, 0.2, 0.4, 0.2)")
W.set_value([0.5, 0.2, 0.4, 0.2])
print ("After modifications:", W.get_value())

出力

Original: [0.1 0.25 0.15 0.3 ]
Setting new values (0.5, 0.2, 0.4, 0.2)
After modifications: [0.5 0.2 0.4 0.2]