Tensorflowでプログラミングを始めたばかりですが、私はすでに一般的なニューラルネットワークのコンセプトに非常に満足しています(私の大学を非難しています。私はthis CNN exampleの実装を変更して自分のデザインを動作させるようにしてきました。私の質問は、重量の初期化についてです:Tensorflow CNN MNISTの例、体重の範囲
weights = {
# 5x5 conv, 1 input, 32 outputs (i.e. 32 filters)
'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]))
}
第二層は32個の入力と64個の出力を持っている場合は、それはそれだけで2フィルタを適用することを意味するのでしょうか? (?これほど少ないようです)そして、それは、5つの連続3x3のCONV層を実装するために、という意味ではない、私はこのようなその層におけるフィルタの数と出力の前の数乗じておく必要があります:それはちょうど感じ
weights = {
'wc1': tf.Variable(tf.random_normal([3, 3, 1, 20])),
'wc2': tf.Variable(tf.random_normal([3, 3, 20, 41])),
'wc3': tf.Variable(tf.random_normal([3, 3, 20*41, 41])),
'wc4': tf.Variable(tf.random_normal([3, 3, 20*41*41, 62])),
'wc5': tf.Variable(tf.random_normal([3, 3, 20*41*41*62, 83])),
'out': tf.Variable(tf.random_normal([3, 3, 20*41*41*62*83, n_classes]))
}
を私は何か間違っているようです。
ご説明いただきありがとうございます!あなたは私をたくさん助けてくれました。 – Jornam