码迷,mamicode.com
首页 > 其他好文 > 详细

lab4:VGG16

时间:2019-01-13 00:16:41      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:pad   str   height   并行   维数   24*   txt   isp   ace   

技术分享图片

准备工作:

(1)维度:

技术分享图片

 

卷积维度 粉红色最后的卷积结果矩阵维度=绿色矩阵维数-橙色矩阵维数+1

池化的最终的结论是要把原来的维度减少到1/n

padding:周围维一圈0 => 粉=绿+2-3+1=绿 维数可以不减(在卷积核维数是3时)

 

(2)vgg 16结构

   附件的vgg16.txt

   Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) :3通道,每通道64个(64*3的矩阵),步长1,补01圈

技术分享图片

  从矩阵可以看出并行和分块的思路。

 

  nn.ReLU() 
  这个表示使用ReLU激活函数,里面有一个参数inplace,默认设置为False,表示新创建一个对象对其修改,也可以设置为True,表示直接对这个对象进行修改

  MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1)) :pooling 相邻2*2矩阵选最小值,步长2

 

(3)总结构:2+2+3+3+3+3=16

数据

技术分享图片

 

   (下面省略了bias和RU,每次卷积核全连接都要激活)

  (1)64*3(3*3)@ 3*1(224*224)=  64*1*(224*224)

(2)64*64(3*3)@ 64*1(224*224)= 64*1(224*224)

(3)=64*1(112*112)

  (4)128*64(3*3)@ 64*1(112*112)=128*1(112*112) 

(5)128*128(3*3)@ 128*1(112*112)=128*1(112*112)

(6)=128*1(56*56)

  (7)256*128(3*3)@ 128*1(56*56)=256*1(56*56)

(8)256*256(3*3)@ 256*1(56*56)=256*1(56*56)

(9)256*256(3*3)@ 256*1(56*56)=256*1(56*56)

(10)=256*1(28*28)

  (11)512*256(3*3)@ 256*1(28*28)=512*1(28*28)

(12)512*512(3*3)@ 512*1(28*28)=512*1(28*28)

(13)512*512(3*3)@ 512*1(28*28)=512*1(28*28)

(14)=512*1(14*14)

  (15)512*512(3*3)@512*1(14*14)=512*1(14*14)

(16)512*512(3*3)@512*1(14*14)=512*1(14*14)

(17)512*512(3*3)@512*1(14*14)=512*1(14*14)

(18)=512*1(7*7)= 25088*1

  (19)(4096*25088) @ (25088*1)= (4096*1)

  (20)(4096*4096)@(4096*1)=(4096*1)

  (21)(1000*4096)@(4096*1)=(1000*1)

 

lab4:VGG16

标签:pad   str   height   并行   维数   24*   txt   isp   ace   

原文地址:https://www.cnblogs.com/iwanna/p/10259034.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!