池化与采样 - Go语言中文社区

池化与采样


Outline

  • Pooling

  • upsample

  • ReLU

Reduce Dim

36-池化与采样-降维.jpg

subsample

Max/Avg pooling

  • stride = 2

36-池化与采样-池化.jpg

Strides

  • stride = 1

36-池化与采样-池化步长1.jpg

For instance

36-池化与采样-池化all.jpg

import tensorflow as tf
from tensorflow.keras import layers
x = tf.random.normal([1, 14, 14, 4])
x.shape
TensorShape([1, 14, 14, 4])
pool = layers.MaxPool2D(2, strides=2)
out = pool(x)
out.shape
TensorShape([1, 7, 7, 4])
pool = layers.MaxPool2D(3, strides=2)
out = pool(x)
out.shape
TensorShape([1, 6, 6, 4])
out = tf.nn.max_pool2d(x, 2, strides=2, padding='VALID')
out.shape
TensorShape([1, 7, 7, 4])

upsample

  • nearest

  • bilinear

36-池化与采样-上采样.jpg

UpSampling2D

x = tf.random.normal([1, 7, 7, 4])
x.shape
TensorShape([1, 7, 7, 4])
layer = layers.UpSampling2D(size=3)
out = layer(x)
out.shape
TensorShape([1, 21, 21, 4])
layer = layers.UpSampling2D(size=2)
out = layer(x)
out.shape
TensorShape([1, 14, 14, 4])

ReLu

36-池化与采样-relu.jpg

x = tf.random.normal([2,3])
x
<tf.Tensor: id=76, shape=(2, 3), dtype=float32, numpy=
array([[-0.30181265,  0.39785287, -0.78380096],
       [ 0.6593401 , -0.40962896, -0.3656048 ]], dtype=float32)>
tf.nn.relu(x)
x
<tf.Tensor: id=76, shape=(2, 3), dtype=float32, numpy=
array([[-0.30181265,  0.39785287, -0.78380096],
       [ 0.6593401 , -0.40962896, -0.3656048 ]], dtype=float32)>
layers.ReLU()(x)
<tf.Tensor: id=80, shape=(2, 3), dtype=float32, numpy=
array([[0.        , 0.39785287, 0.        ],
       [0.6593401 , 0.        , 0.        ]], dtype=float32)>
版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/nickchen121/p/10930571.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-10-27 21:51:48
  • 阅读 ( 1490 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢