覚え書きブログ

読者です 読者をやめる 読者になる 読者になる

Deep Learning覚え書き(フィルタの可視化編)

前回のCaffenetのblobの可視化に続き、filterを可視化してみた。
hirotaka-hachiya.hatenablog.com

CaffeのNetクラスには、blobsの他にparamsメソッドがあり、
pythonからは、重み係数とバイアスとにそれぞれ、次のようにアクセスできる。

>>> net.params['conv1'][0].data.shape
(96, 3, 11, 11)

>>> net.params['conv1'][1].data
(96,)

Caffenetのconv1層では、カーネルサイズが11で、カーネル数が96個ある。
入力画像が3チャンネルあるので、パラメータの数は、11*11*3*96+96=34944ある。
convolution層の詳細については、下記のサイトで説明されている。
http://cs231n.github.io/convolutional-networks/

例えば、conv1層の赤チャンネルの重み係数は、「net.params['conv1'][0].data[:,0,:]」参照することができるので、
下記からダウンロードできるpythonコードを用いて、conv1層の赤チャンネルの重み係数を可視化してみた。

https://drive.google.com/file/d/0B3uB4w2FEJbIdm9CNjVwRDNFQ0k/view?usp=sharing


f:id:hirotaka_hachiya:20150802215536p:plain
f:id:hirotaka_hachiya:20150215205854p:plain