欢迎光临散文网 会员登陆 & 注册

AlexNet

2021-03-28 16:02 作者:儒雅随和的老顽童  | 我要投稿

CNN模型复现1 AlexNet

1. AlexNet

1.1 要点

1.2 网络结构

1.3 代码

1. AlexNet

1.1 要点

AlexNet加入‘relu’激活函数、Batchnormalization。 AlexNet有5个卷基层和3个全连接层。

输入图片尺寸[224,224,3],第一层用96个尺寸为11x11x3,步长为4的卷机核提取特征,然后标准化和用池化核为3,步长为2的最大池化进行池化。

第二层把96个特征分开训练,用256个5x5x48的卷机核提取特征,然后标准化和用池化核为3,步长为2的最大池化进行池化。

第三层用384个3x3x256的卷机核提取特征。

第四层用384个3x3x192的卷机核提取特征。

第五层用256个3x3x192的卷机核提取特征,然后标准化和用池化核为3,步长为2的最大池化进行池化。

然后对特征层展平,进行两次神经元为4096的全连接,一次Dropout,最后进行一次神经元为1000的全连接。

1.2 网络结构

224,224,3–>C(96,11*11,4,‘s’,‘relu’,[56, 56, 96])BM(3,2,[27, 27, 96])–>

27,27,96–>C(256,5*5,1,‘s’,‘relu’,[27, 27, 256])BM(3,2,[13, 13, 256])–>

13,13,256–>C(384,3*3,1,s,‘relu’,[13, 13, 384])–>

13,13,384–>C(384,3*3,1,s,‘relu’,[13, 13, 384])–>

13,13,384–>C(256,3*3,1,s,‘relu’,[13, 13, 256])BM(,[6, 6, 256])–>

6,6,256–>F([9216])D(4096,‘relu’,[4096])D(4096,‘relu’,[4096])D(0.5)D(1000,‘safamax’,[1000])–>

1000

1.3 代码

(1) 代码流程

导入函数

设置tensor

建立第一层

2~5层卷积块儿

中间的2个全连接层

最后输出的全连接层

建立model(pip install pydot)

Conv(f=96,k=11,s=4,p='s')

Relu

Batchnorm

MaxPool(k=3,s=2) 

   ↓

Conv(f=256,k=5,s=1,p='s')

Relu

Batchnorm

MaxPool(k=3,s=2) 

   ↓

Conv(f=384,k=3,s=1,p='s')

Relu 

   ↓

Conv(f=384,k=3,s=1,p='s')

Relu 

   ↓

Conv(f=256,k=3,s=1,p='s')

Relu

Batchnorm

MaxPool(k=3,s=2) 

   ↓

Flatten

Fc(4096)

Relu 

Fc(4096)

Relu 

Dropout(0.5)

   ↓

Fc(1000)

SoftMax


(2) python代码

'''代码用BatchNormalization代替LRN(Local Response Normalization)'''



AlexNet的评论 (共 条)

分享到微博请遵守国家法律