tensorflow 勉強用メモ① CNN中の「決め」や「固定」の数値について

CNN中の「決め」や「固定」の数値について

Convolution層のWeight

W_conv1 = weight_variable([5,5,3,32]);
W_conv2 = weight_variable([5,5,32,64]);

5 5 は 5x5 のフィルターを利用するから、決めの数値
3 はRGBだから、3チャンネル、決めじゃない
32 は32枚フィルター(32チャンネルアウトプット)conv2dしたいから、決めの数値
64 も同じ

Fully Connected層のWeight

W_fc1 = weight_variable([7*7*64,1024])

7*7 は 28*28 の画像が2回2*2のmax_poolingで28/2/2=7 のサイズに縮小されたもの
64 は2層目のConvolution層のアウトプットチャンネル数
1024 は決めの数値 

W_fc2 = weight_variable([1024,10])

1024 は1層目のFC層のアウトプット
10 は0~9の数値確認するためだから、正解は10個

Pooling中のstrides

strides = [1,h,w,1]

strides はNHWCフォーマットで、Nはnum of samples(batches)、Hはheight、Wはwidth、Cはchannel
stride処理は基本的には1batchずつ、1channelずつ処理すべきから、基本はこの2つは固定値1です

参考資料

https://stackoverflow.com/questions/34745196/weights-in-convolutional-network?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

http://setosa.io/ev/image-kernels/

http://machinelearninguru.com/computer_vision/basics/convolution/convolution_layer.html

https://www.tensorflow.org/versions/r1.8/api_docs/python/tf/nn/conv2d

data_format: An optional string from: "NHWC", "NCHW". Defaults to "NHWC". Specify the data format of the input and output data. With the default format "NHWC", the data is stored in the order of: [batch, height, width, channels]. Alternatively, the format could be "NCHW", the data storage order of: [batch, channels, height, width].
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.