2017-07-11 6 views
0

私は次のリンクでコンボリューションニューラルネットワークのための次のコードを使用:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/convolutional_network.pyと私は私のモデルのパラメータを設定したいと思います:CNNのTensorFlowでネットワークの重みを設定するにはどうすればよいですか?

私の入力は35 * 128

私は次のように設定の配列でありますネットワークパラメータ:

# Network Parameters 
n_input = 35*128 
n_classes = 6 
dropout = 0.75 

重みと偏りを設定する方法を教えてください。デフォルト値:

# Store layers weight & bias 
weights = { 
    # 5x5 conv, 1 input, 32 outputs 
    'wc1': tf.Variable(tf.random_normal([5, 5, 1, 32])), 
    # 5x5 conv, 32 inputs, 64 outputs 
    'wc2': tf.Variable(tf.random_normal([5, 5, 32, 64])), 
    # fully connected, 7*7*64 inputs, 1024 outputs 
    'wd1': tf.Variable(tf.random_normal([7*7*64, 1024])), 
    # 1024 inputs, 10 outputs (class prediction) 
    'out': tf.Variable(tf.random_normal([1024, n_classes])) 
} 

biases = { 
    'bc1': tf.Variable(tf.random_normal([32])), 
    'bc2': tf.Variable(tf.random_normal([64])), 
    'bd1': tf.Variable(tf.random_normal([1024])), 
    'out': tf.Variable(tf.random_normal([n_classes])) 
} 
+0

通常のランダム分布の値で初期化済みです。 'tf.random_normal()'はその初期化を扱います – Sriram

答えて

0

は最終的に私は本当に便利ですtensorflowで次のチュートリアルを読むことによって、私の解決策を見つけた:

https://www.tensorflow.org/tutorials/layers

私の入力画像サイズは35×128であると私は緻密層( 'WD1で私のパラメータを設定する必要があります')から9 * 32 * 64までです。

'wd1': tf.Variable(tf.random_normal([9*32*64, 1024])) 
1

コメントするには十分な評判がありません。だから、ちょうど正確に何を意味するかを明確に指定すると、は重みと偏りを設定します。値をいくつかの基準で設定する場合は、このリンクを参照してくださいhttps://www.tensorflow.org/api_docs/python/tf/random_normal

ここでは、重みとバイアス値の平均、標準偏差、およびdtypeを指定できます。

+0

ランダムノーマル関数に精通していますが、私の問題は、入力データに基づいてウェイトとバイアスのサイズを設定する方法です。 – MSN

+0

変数?シェイプをハードコーディングする必要はありません。 – Akhilesh

関連する問題