CNN
文章平均质量分 81
笔记
shitoucoming
这个作者很懒,什么都没留下…
展开
-
tensorflow查看形状XXX.get_shape()、numpy查看形状XXX.shape tf.matmul(a, w)+b详细解释(CNN全连接相关的)
import tensorflow as tfa = tf.constant((1.0, 2.0, 3.0, 4.0), dtype=None, shape=(1, 4), name='a')w = tf.ones(shape=[4, 2], dtype=tf.float32, name=None)b = tf.ones(shape=[2], dtype=tf.float32, name=...原创 2020-03-25 22:16:30 · 373 阅读 · 0 评论 -
CNN中做归一化用到的相关API(自己的小总结:tf.nn.moments()函数理解) 以及CNN中NHWC转NCHW的方法
Note1:CNN中NHWC转NCHW的方法:比如卷积层输出的net形状为:[2, 3, 3, 4]即:NHWC为[2, 3, 3, 4]N:一个batch内图片的数量。H:垂直高度方向的像素个数。W:水平宽度方向的像素个数。C:通道数现为了做BN,想先将NHWC转为NCWH=[2, 4, 3, 3]方法呢?可以使用TensorFlow中的tf.transpose函数实现!n =...原创 2020-03-25 16:58:49 · 610 阅读 · 0 评论 -
tf.truncated_normal_initializer()和tf.random_normal_initializer()的区别和使用
两个初始器的使用和区别tf.random_normal_initializer:正态分布tf.truncated_normal_initializer:截取的正态分布原创 2020-03-25 00:39:35 · 4137 阅读 · 0 评论 -
tf.nn.moments()函数解析(最清晰的解释)
tf.nn.moments()函数用于计算均值和方差。# 用于在指定维度计算均值与方差tf.nn.moments( x, axes, shift=None, # pylint: disable=unused-argument name=None, keep_dims=False)参数:x:一个Tensor,可以理解为我们输出的数据,形如 [b...转载 2020-03-25 00:09:41 · 4246 阅读 · 1 评论 -
CNN过程举例(手写版)
# 定义一个网络结构: input -> conv1 -> relu1 -> pooling1 -> conv2 -> relu2 -> pooling2 -> FC1 -> FC2手写CNN过程:原创 2020-03-21 00:32:52 · 373 阅读 · 2 评论 -
CNN(多种CNN结构,为什么用引入CNN,卷积层不考虑过拟合)
1.多种CNN结构好多CNN结构都是在原来基础上做了深度和宽度方向上的扩展,从而将网络结构变得复杂,同时通过这种方式使模型效果变得好一点。常见的CNN结构有LeNet-5、 AlexNet、ZFNet、VGGNet、GoogleNet、ResNet、DenseNet、SENet、 Residual Attention Networks、MobileNet、ShuffleNet等等。从Goog...原创 2020-03-20 17:56:15 · 551 阅读 · 0 评论 -
CNN中窗口,通道,feature map,激活函数 理解
CNN中的窗口理解窗口大小,就是局部感知视野图片的深度depth,也叫channeldepth深度:图片是从几个方面进行描述的。feature map一个卷积核相当于从一个方面考虑这个图像具有什么特征,10个卷积核就是从10个方面去描述图像,然后得到10个feature mapCNN中的激活函数ReLU效果不好的话再考虑用Leaky ReLUMaxout不是纯粹的激活函数,但可以把...原创 2020-03-20 17:55:03 · 678 阅读 · 0 评论 -
CNN基础的小总结
总结CNN中,卷积层主要目的是提取图像的局部高阶特征信息,其他不考虑。在激活层,由于卷积层提取的是线性的特征。所以需要做一个非线性的转换。如果不做转换的话,多层还是相当于一层,没有什么区别。池化层可以理解为对前面卷积层提取那么多的局部特征信息做一个压缩,压缩的过程中会把一些噪声特征信息,包括冗余特征信息给剔除掉。使模型相对稳定一些。迭代速度更快一些。也可以稍微缓解一些过拟合的问题。前面提取的是...原创 2020-03-20 17:44:38 · 127 阅读 · 0 评论 -
CNN中用到的灰度图和RGB图的理解
灰度图片和RGB图片灰度图像是一个方面,彩色图像是三个方面灰度图:把白色与黑色之间按对数关系分为若干等级,称为灰度。灰度分为256阶。(数字越大越接近白色,越小越接近黑色 )RGB图:是通过对红R、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色。(每像素颜色16777216(256 * 256 * 256)种)...原创 2020-03-20 17:39:27 · 3466 阅读 · 0 评论 -
对CNN中池化层的理解
14.为什么要引入池化层?例如一张图片中,有天空。天空那一大片区域颜色是很接近的。用卷积层提取出的局部特征也很相近。这样的话会造成特征信息的冗余。带来计算量大的问题。如何将冗余的信息删除,那就要用到池化层。池化层的作用主要是:为了提高重要的特征信息,压缩特征,降低计算量,缓解过拟合的情况。池化有最大池化和最小池化(其中最小池化自己根据最大池化进行改编得到)最大池化认为每个窗口中值越大,越...原创 2020-03-20 17:37:15 · 1928 阅读 · 0 评论 -
对CNN中padding零填充的理解
11.padding为什么用padding进行填充?原因:2个一:卷积的时候,希望图像大小不发生变化;二:有的时候可能原始图像是除不尽的,如果不填充的话,余的像素就直接丢弃了,这样信息可能会丢失。那为了防止信息丢失,我们做一个填充。注意:零填充填几层卷积自己会自己计算的(计算是在滑动窗口滑动之前就计算好的)。也就是说:不管哪种情况,padding的取值,先计算好,然后窗口才滑动 。。。 ...原创 2020-03-20 17:29:35 · 11948 阅读 · 1 评论