您的位置:首页 > 编程语言

如何理解最简单的CNN代码(卷积层到全链接层)

2017-10-17 11:18 288 查看
with tf.variable_scope('local3') as scope:

        # 第一层全连接

        reshape = tf.reshape(pool2, [BATCH_SIZE,-1])

        dim = reshape.get_shape()[1].value

        weights = variables('weights', shape=[dim,384], stddev=0.004)

        biases = variable_on_cpu('biases', [384])

        # ReLu 激活函数

        local3 = tf.nn.relu(tf.matmul(reshape, weights)+biases, 

                            name = scope.name)

其中的BATCH_SIZE是一个batch的大小,因为网络的输入必定是一张图片,而一个batch里有

BATCH_SIZE张图片,需要将其reshape,并且tf.matul的格式是XW而不是推导时的WX,所以

为[BATCH_SIZE,-1]形状。

总之,前面的卷积和池化的BATCH_SIZE张图片都是放在一起进行,而到全链接时,换了一种更

高效的数据组织方式(reshape),将batch内每一张图片全链接,详细类似推导时的转置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐