TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。
TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。TensorFlow将完全开源,任何人都可以用。
原生接口文章
- 【Tensorflow】tf.placeholder函数
- 【TensorFlow】tf.nn.conv2d是怎样实现卷积的
- 【TensorFlow】tf.nn.max_pool实现池化操作
- 【Tensorflow】tf.nn.relu函数
- 【Tensorflow】tf.reshape 函数
- 【Tensorflow】tf.nn.dropout函数
- 【Tensorflow】tf.argmax函数
- 【Tensorflow】tf.cast 类型转换 函数
- 【Tensorflow】tf.train.AdamOptimizer函数
- 【Tensorflow】tf.Graph()函数
- 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法
- 【Tensorflow】tf.dynamic_partition 函数 分拆数组
slim接口文章
- 【Tensorflow】tensorflow.contrib.slim 包
- 【Tensorflow slim】 slim.arg_scope的用法
- 【Tensorflow slim】slim.data包
- 【Tensorflow slim】slim evaluation 函数
- 【Tensorflow slim】slim layers包
- 【Tensorflow slim】slim learning包
- 【Tensorflow slim】slim losses包
- 【Tensorflow slim】slim nets包
- 【Tensorflow slim】slim variables包
- 【Tensorflow slim】slim metrics包
kera 接口文章
tensorflow使用过程中的辅助接口或通过tensorflow实现的批量操作接口
=========================================================================
原文地址:http://blog.csdn.net/mao_xiao_feng/article/details/53453926
max pooling是CNN当中的最大值池化操作,其实用法和卷积很类似
有些地方可以从卷积去参考【TensorFlow】tf.nn.conv2d是怎样实现卷积的?
tf.nn.max_pool(value, ksize, strides, padding, name=None)
参数是四个,和卷积很类似:
第一个参数value:需要池化的输入,一般池化层接在卷积层后面,所以输入通常是feature map,依然是[batch, height, width, channels]这样的shape
第二个参数ksize:池化窗口的大小,取一个四维向量,一般是[1, height, width, 1],因为我们不想在
batch和
channels
上做池化,所以这两个维度设为了1
第三个参数strides:和卷积类似,窗口在每一个维度上滑动的步长,一般也是[1, stride,
stride
, 1]
第四个参数padding:和卷积类似,可以取'VALID' 或者'SAME'
返回一个Tensor,类型不变,shape仍然是[batch, height, width, channels]
这种形式
示例源码:
假设有这样一张图,双通道
第一个通道:
第二个通道:
用程序去做最大值池化:
这里步长为1,窗口大小2×2,输出结果:
池化后的图就是:
证明了程序的结果是正确的。
我们还可以改变步长
最后的result就变成: