Tensorflow实现网络---VGG

Tensorflow实现网络—VGG

VGG简介

VGG Net由牛津大学的视觉几何组(Visual Geometry Group)和 Google DeepMind公司的研究员一起研发的的深度卷积神经网络,在 ILSVRC 2014 上取得了第二名的成绩,将 Top-5错误率降到7.3%。它主要的贡献是展示出网络的深度(depth)是算法优良性能的关键部分。

目前使用比较多的网络结构主要有ResNet(152-1000层),GooleNet(22层),VGGNet(19层),大多数模型都是基于这几个模型上改进,采用新的优化算法,多模型融合等。到目前为止,VGG Net 依然经常被用来提取图像特征。

其实许多神经网络都是以VGG为基本网络进行扩建得到的例如之后要说的SSD神经网络。

常见的VGG模型表

如下图:
在这里插入图片描述

详解VGG—16

首先我们从网络框架和代码编写两个方面进行详解:
1、网络框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用TensorFlow实现VGG16的代码示例: ```python import tensorflow as tf def vgg16(input): # 定义卷积层函数 def conv_layer(input, filters, kernel_size, strides, padding): return tf.layers.conv2d(inputs=input, filters=filters, kernel_size=kernel_size, strides=strides, padding=padding, activation=tf.nn.relu) # 定义池化层函数 def pool_layer(input): return tf.layers.max_pooling2d(inputs=input, pool_size=2, strides=2) # 定义VGG16网络结构 conv1_1 = conv_layer(input, 64, 3, 1, 'same') conv1_2 = conv_layer(conv1_1, 64, 3, 1, 'same') pool1 = pool_layer(conv1_2) conv2_1 = conv_layer(pool1, 128, 3, 1, 'same') conv2_2 = conv_layer(conv2_1, 128, 3, 1, 'same') pool2 = pool_layer(conv2_2) conv3_1 = conv_layer(pool2, 256, 3, 1, 'same') conv3_2 = conv_layer(conv3_1, 256, 3, 1, 'same') conv3_3 = conv_layer(conv3_2, 256, 3, 1, 'same') pool3 = pool_layer(conv3_3) conv4_1 = conv_layer(pool3, 512, 3, 1, 'same') conv4_2 = conv_layer(conv4_1, 512, 3, 1, 'same') conv4_3 = conv_layer(conv4_2, 512, 3, 1, 'same') pool4 = pool_layer(conv4_3) conv5_1 = conv_layer(pool4, 512, 3, 1, 'same') conv5_2 = conv_layer(conv5_1, 512, 3, 1, 'same') conv5_3 = conv_layer(conv5_2, 512, 3, 1, 'same') pool5 = pool_layer(conv5_3) # 将池化层输出的特征图展开成一维向量 flatten = tf.layers.flatten(pool5) # 定义全连接层 fc6 = tf.layers.dense(inputs=flatten, units=4096, activation=tf.nn.relu) fc7 = tf.layers.dense(inputs=fc6, units=4096, activation=tf.nn.relu) fc8 = tf.layers.dense(inputs=fc7, units=1000, activation=None) return fc8 ``` 在上述代码中,我们首先定义了`conv_layer`和`pool_layer`函数来创建卷积层和池化层。然后,我们按照VGG16的网络结构定义了卷积层、池化层和全连接层,并将它们连接在一起形成完整的VGG16网络。最后,我们返回最后一个全连接层的输出。 注意,这里的代码只是一个简单的实现示例,具体实现可能会根据实际需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值