TensorFlow学习总结(八)卷积神经网络——VGG特征

本文介绍了卷积神经网络VGG的特点,包括使用3×3卷积核和2×2池化核的结构,以及在TensorFlow中实现VGG模型进行前向预测和反向测评的详细步骤。
摘要由CSDN通过智能技术生成

一、引入

1.发展

2.特点 

(1)全部使用3×3的卷积核,步长1;和2×2的池化核,步长2;通过不断加深网络结构提升性能。

(2)两个3×3卷积层串联优于一个7×7卷积层,使得CNN对特征学习能力更强。

(3)不用LRN层;越深层网络效果越好。

二、tensorflow实现 

1.实现计算前向预测和反向测评时间

(1)导入

from datetime import datetime
import math
import time
import tensorflow as tf

(2)设置参数

#设置参数
batch_size = 32                #每个batch数据的大小
num_batches = 50              #一共测试50个batch数据

(3)封装VGG所用函数

def conv_op(input, name, wh, ww, n_out, dh, dw, p):                                                                     #输入,范围名称,滤波器尺寸,滤波器输出通道数,步长,参数列表
    n_in = input.get_shape()[-1].value                                                                                  #输入通道数
    with tf.name_scope(name) as scope:
        weight = tf.get_variable(scope+"w", shape=[wh, ww, n_in, n_out], dtype=tf.float32,
                                 initializer=tf.contrib.layers.xavier_initializer_conv2d())       #滤波器
        conv = tf.nn.conv2d(input, weight, (1, dw, dw, 1),padding='SAME')                                                     #步长  必须是边界填充SAME
        bias_init_val = tf.constant(0.0, shape=[n_out],dtype=tf.float32)
        biases = tf.Variable(bias_init_val, trainable=True, name='b')                                                   #偏置
        result = tf.nn.bias_add(conv, biases)                                                                           #前向
        activati
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值