系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 脚本中心 > python > 详细页面

TensorFlow tf.nn.max_pool实现池化操作方式

时间:2020-01-04来源:系统城作者:电脑系统城

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. import tensorflow as tf
  2.  
  3. a=tf.constant([
  4. [[1.0,2.0,3.0,4.0],
  5. [5.0,6.0,7.0,8.0],
  6. [8.0,7.0,6.0,5.0],
  7. [4.0,3.0,2.0,1.0]],
  8. [[4.0,3.0,2.0,1.0],
  9. [8.0,7.0,6.0,5.0],
  10. [1.0,2.0,3.0,4.0],
  11. [5.0,6.0,7.0,8.0]]
  12. ])
  13.  
  14. a=tf.reshape(a,[1,4,4,2])
  15.  
  16. pooling=tf.nn.max_pool(a,[1,2,2,1],[1,1,1,1],padding='VALID')
  17. with tf.Session() as sess:
  18. print("image:")
  19. image=sess.run(a)
  20. print (image)
  21. print("reslut:")
  22. result=sess.run(pooling)
  23. print (result)

这里步长为1,窗口大小2×2,输出结果:


 
  1. image:
  2. [[[[ 1. 2.]
  3. [ 3. 4.]
  4. [ 5. 6.]
  5. [ 7. 8.]]
  6.  
  7. [[ 8. 7.]
  8. [ 6. 5.]
  9. [ 4. 3.]
  10. [ 2. 1.]]
  11.  
  12. [[ 4. 3.]
  13. [ 2. 1.]
  14. [ 8. 7.]
  15. [ 6. 5.]]
  16.  
  17. [[ 1. 2.]
  18. [ 3. 4.]
  19. [ 5. 6.]
  20. [ 7. 8.]]]]
  21. reslut:
  22. [[[[ 8. 7.]
  23. [ 6. 6.]
  24. [ 7. 8.]]
  25.  
  26. [[ 8. 7.]
  27. [ 8. 7.]
  28. [ 8. 7.]]
  29.  
  30. [[ 4. 4.]
  31. [ 8. 7.]
  32. [ 8. 8.]]]]

池化后的图就是:

证明了程序的结果是正确的。

我们还可以改变步长


 
  1. pooling=tf.nn.max_pool(a,[1,2,2,1],[1,2,2,1],padding='VALID')

最后的result就变成:


 
  1. reslut:
  2. [[[[ 8. 7.]
  3. [ 7. 8.]]
  4.  
  5. [[ 4. 4.]
  6. [ 8. 8.]]]]

以上这篇TensorFlow tf.nn.max_pool实现池化操作方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

分享到:

相关信息

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载