caffe python visualization程序解析

本文主要对http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/filter_visualization.ipynb进行代码解析。
1. net.blobs.items() 存储了预测图片的网络中各层的feature map的数据。
2. net.params.items()存储了训练结束后学习好的网络参数。
3. vis_square 函数视觉化data,主要是进行数据归一化,data转换为plt可视化的square结构。
4. 
7.

plt.imshow(net.deprocess('data', net.blobs['data'].data[4]))

这里的4是第4个crop,图片会被crop成10个227*227.

5. net.params['conv1'][0].data, 这是表示conv1层的w参数

  net.params['conv2'][1].data, 这是表示conv1层的b参数

6.

filters.transpose(0, 2, 3, 1)对filters 4维数组进行位置对换,主要是为了将rgb放在最后一维。

net.blobs['conv1'].data[4, :36] 表示conv1层学习的feature map, 显示第4个crop image的top 36个feature map。

8. 

filters = net.params['conv2'][0].data

filters[:48].reshape(48**2, 5, 5) 对conv2 层参数w进行显示, conv2 :256 * 48 * 5 * 5, 这里显示头48个filters, reshape是为了在显示的时候把48个5*5的kernel放在一行显示,共48*48的方格显示。

你可能感兴趣的:(caffe python visualization程序解析)