aibiology

Artificial intelligence in biology

0%

VGG解析和实现

1. VGG16

VGG16是运用高深度的卷积神经网络在图像识别方面的一个重要的应用,并在2014年夺得ImageNet的定位第一和分类第二。 论文PDF

2. 网络结构

文章中网络结构如下: 'vgg'

3. 代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def conv_layer(chann_in, chann_out, k_size, p_size):
layer = tnn.Sequential(
tnn.Conv2d(chann_in, chann_out, kernel_size=k_size, padding=p_size),
tnn.BatchNorm2d(chann_out),
tnn.ReLU()
)
return layer

def vgg_conv_block(in_list, out_list, k_list, p_list, pooling_k, pooling_s):

layers = [ conv_layer(in_list[i], out_list[i], k_list[i], p_list[i]) for i in range(len(in_list)) ]
layers += [ tnn.MaxPool2d(kernel_size = pooling_k, stride = pooling_s)]
return tnn.Sequential(*layers)

def vgg_fc_layer(size_in, size_out):
layer = tnn.Sequential(
tnn.Linear(size_in, size_out),
tnn.BatchNorm1d(size_out),
tnn.ReLU()
)
return layer