Tensorflow搭建Alexnet网络(一)

第一部分讲解网络的构建,建立的方式和Tensorflow的官方中文教程的方式略微不同,由于网路结构小,各个隐层并未放入命名空间中,但逻辑顺序依然一样。

1.Alexnet

    用一张图先展示一下CNN的经典网络结构Alexnet,可以看出它由五层卷积、三层池化和两层全连接组成,我会在网络中加入BN层。

2.TensorFlow运作方式

    1.输入与占位符(Inputs and Placeholders) :placeholder_inputs()函数将生成两个tf.placeholder操作,定义传入图表中的shape参数,shape参数中包括batch_size

    2.构建图表 :inference()函数会尽可能地构建图表,做到返回包含了预测结果(output prediction)的Tensor。它接受图像占位符为输入,在此基础上借助ReLu(Rectified Linear Units)激活函数(也可替换成其他激活函数),构建一对完全连接层(layers),以及一个有着n个结点(n一般是你的分类数目)、指明了输出logtis模型的线性层。每一层都创建于一个唯一的tf.name_scope之下,创建于该作用域之下的所有元素都将带有其前缀,使用如:

with tf.name_scope('hidden1') as scope:
    weights = tf.Variable(
    tf.truncated_normal([IMAGE_PIXELS, hidden1_units],
                        stddev=1.0 / math.sqrt(float(IMAGE_PIXELS))),
    name='weights')
    biases = tf.Variable(tf.zeros([hidden1_units]),
                     name='biases')
hidden1 = tf.nn.relu(tf.matmul(images, weights) + biases)
logits = tf.matmul(hidden2, weights) + biases

    3.损失函数:如果你的标签是one-hot编码则可以省略这一步骤,如果不是,tensorflow也可以帮你转换成one-hot编码,例如,如果类标识符为“3”,那么该值就会被转换为:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值