2016-06-28 6 views
0

私は、CNNの重みとなる変数を持っています。形状が[kernel_width、kernel_height、in_channels、out_channels]であるとしましょう。テンソルフローで変数の複雑な初期化を行うにはどうすればよいですか?

私は何をしたいいくつかのランダムな値で初期化することであるが、各カーネルの中央値で3×3カーネルのために、私は値が[[なりたい、例えば1

しますr、r、r]、[r、1、r]、[r、r、r]]であり、各rは任意の分布から取られた異なるランダム値である。

この形式でnumpy配列を簡単に作成できますが、変数を初期化するために任意の配列を使用する方法がわかりませんでした。

答えて

1

あなたが言ったように、最も簡単な方法は、numpyの配列でフィルタを初期化することです。あなただけの変数の作成時に、この配列を渡すことがあります。

filter_value = 0.1 * np.random.randn(3, 3, 64, 64) 
filter_value[1, 1, :, :] = 1. # set the center value to 1. 

filter = tf.Variable(filter_value, dtype=tf.float32) 
+0

https://www.tensorflow.org/versions/r0.9/how_tos/variables/index.htmlのみテンソルができることを意味しているようです変数を初期化するために使用されます。 –

+0

テンソルに変換できるものはすべてdocに従って有効です。つまり、リストが大丈夫です。numpyの配列は大丈夫です。 –

+0

ありがとうございます - 教えてくださいどこに教えてください、教えてください? –

関連する問題