tf.slim实现inception-v3

import tensorflow as tf

slim = tf.contrib.slim

#设置函数的参数默认取值,这里将这三个函数的stride和padding参数设定好默认值,以后就不需要设置了
#若以后重新设置,则以最新值代替
with slim.arg_scope([slim.conv2d,slim.max_pool2d,slim.avg_pool2d],stride=1,padding='SAME'):
    net = 'net'

    with tf.variable_scope('Mixed_7c'):
        with tf.variable_scope('Branch_0'):
            #第一个参数是输入的网络,第二个是卷积核数量,第三个是卷积核大小
            branch_0 = slim.conv2d(net,320,[1,1],scope='conv_1a')

        with tf.variable_scope('Branch_1'):
            branch_1 = slim.conv2d(net,384,[1,1],scope='conv_1a')
            #将多个网络合并,第一个参数是合并的维度,[batch,width,length,depth],3代表合并的维度是深度
            branch_1 = tf.concat(3,[
                slim.conv2d(branch_1,384,[1,3],scope='conv_2a'),
                slim.conv2d(branch_1,384,[3,1],scope='conv_2b')
            ])

        with tf.variable_scope('Branch_2'):
            branch_2 = slim.conv2d(net,448,[1,1],scope='conv_1a')
            branch_2 = slim.conv2d(branch_2,384,[3,3],scope='conv_2a')
            branch_2 = tf.concat(3,[
                slim.conv2d(branch_2,384,[1,3],scope='conv_3a'),
                slim.conv2d(branch_2,384,[3,1],scope='conv_3b')
            ])

        with tf.variable_scope('Branch_3'):
            branch_3 = slim.avg_pool2d(net,[3,3],scope='avg_pool_1a')
            branch_3 = slim.conv2d(branch_3,192,[1,1],scope='conv_2a')

        net = tf.concat(3,[branch_0,branch_1,branch_2,branch_3])
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值