pp框架构建VGG16网络结构

在这里插入图片描述

from __future__ import print_function
import paddle
import paddle.fluid as fluid
import sys
import numpy

def vgg_16(input):
    def conv_block(ipt, num_filter, groups, dropouts):
        return fluid.nets.img_conv_group(
            input = ipt,
            pool_size =2,
            pool_stride = 2,
            conv_num_filter = [num_filter]*groups,
            conv_act = 'relu',
            conv_with_batchnorm = True,
            conv_batchnorm_drop_rate = dropouts,
            pool_type='max'

        )
    conv1 = conv_block(input, 64, 2, [0.3, 0])
    conv2 = conv_block(conv1, 128, 2, [0.3, 0])
    conv3 = conv_block(conv2, 256, 3, [0.3, 0])
    conv4 = conv_block(conv3, 512, 3, [0.3, 0])
    conv5 = conv_block(conv4, 512, 3,[0.3, 0])

    drop = fluid.layers.dropout(x = conv5, dropout_prob = 0.5)
    fc1 = fluid.layers.fc(input = drop, size = 512, act=None)
    bn = fluid.layers.batch_norm(input=fc1, act='relu')
    drop2 = fluid.layers.dropout(x = bn, dropout_prob= 0.5)
    fc2 = fluid.layers.fc(input = drop2, size = 512, act=None)
    predict = fluid.layers.fc(input=fc2, size=10, act='softmax')

    return  predict



发布了115 篇原创文章 · 获赞 38 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44146373/article/details/105616476