Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visualize images in intermediate layers in torch (lua)

In the conv-nets model, I know how to visualize the filters, we can do itorch.image(model:get(1).weight)

But how could I efficiently visualize the output images after the convolution? especially those images in the second or third layer in a deep neural network?

Thanks.

like image 862
James LT Avatar asked Jul 20 '15 06:07

James LT


Video Answer


2 Answers

Similarly to weight, you can use:

itorch.image(model:get(1).output)
like image 98
smhx Avatar answered Oct 12 '22 18:10

smhx


To visualize the weights:

-- visualizing weights
n = nn.SpatialConvolution(1,64,16,16)
itorch.image(n.weight)

To visualize the feature maps:

-- initialize a simple conv layer
n = nn.SpatialConvolution(1,16,12,12)

-- push lena through net :)
res = n:forward(image.rgb2y(image.lena())) 

-- res here is a 16x501x501 volume. We view it now as 16 separate sheets of size 1x501x501 using the :view function
res = res:view(res:size(1), 1, res:size(2), res:size(3))
itorch.image(res)

For more: https://github.com/torch/tutorials/blob/master/1_get_started.ipynb

like image 27
anh_ng8 Avatar answered Oct 12 '22 18:10

anh_ng8