用tensorflow搭cnn - notes

Posted 烧鸭饭真好吃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用tensorflow搭cnn - notes相关的知识,希望对你有一定的参考价值。

一次进步一点点,滴水穿石头...估计我也老了

密集连接层

就是摊平,reshape

然后加上一层w, b , so easy

卷积操作

先写个定义w和b的函数

卷积是已经包装好的函数,只需要传入x和w就可以自动卷了

 

第二层卷积层承接的是第一层的数量

如果第一层的shape是[5,5,1,32] , 第三个数是原始图片的通道

第二层就该是[5,5,32,64] , 第三个数是第一层的卷积核数量

卷积和pool层的参数数量变化

tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding=\'SAME\')
把 x按照W的尺寸来卷积,
strides等于1,意味着图片的size都没变

pool也是,如果是2x2的pool,相当于把图片size长宽都除以2,
两次pool之后28x28变成7x7

上一层的feature maps被一个可学习的卷积核进行卷积

mj是输入的点,

对于每一个输出对点,都有一个完全不同对卷积核

所以我猜,

  W就是这里的k, 是要学习和更新的权重,一个卷积核就是一块区域(4x4=16)对应一个核(16个参数),再加上一个b

  两个核就是会生成两个不同的output点,两个不同的核,参数又翻倍

  如果stride=1,那么一个32x32的图片就有,28x28个小区域,每个区域3个卷积核的话,就有28x28x3x16个参数,爆炸...

不对,更新认知

  一个卷积核,应该说,同一个卷积核就卷积了 这所有的28x28个小区域,而不是每个点换一个卷积核,所以现在只有3x16个参数了,nice

以上是关于用tensorflow搭cnn - notes的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow 1.0 学习:用CNN进行图像分类

用 Tensorflow 建立 CNN

tensorflow笔记:多层CNN代码分析

深度学习系列用PaddlePaddle和Tensorflow实现经典CNN网络Vgg

深度学习系列用PaddlePaddle和Tensorflow实现经典CNN网络Vgg

tensorflow多层CNN代码分析