TensorFlow中padding卷积的两种方式“SAME”和“VALID”

转自:https://blog.csdn.net/syyyy712/article/details/80272071

tensorflow官网定义的padding如下:

padding = “SAME”输入和输出大小关系如下:

在这里插入图片描述

输出大小等于输入大小除以步长向上取整,s是步长大小;

padding = “VALID”输入和输出大小关系如下:

在这里插入图片描述

输出大小等于输入大小减去滤波器大小加上1,最后再除以步长(f为滤波器的大小,s是步长大小)。

反卷积操作

所以在反卷积操作tf.keras.layers.Conv2DTranspose()中,当设置padding=‘SAME’,Stride=(2,2)时,可以实现将图像扩大两倍

详情可见:https://blog.csdn.net/u011913417/article/details/110857982
此外,dilation rate 指的是kernel的间隔数量(e.g. 正常的 convolution 是 dilatation rate 1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TensorFlow ,可以使用 tf.nn.conv2d() 函数来调用卷积操作。该函数的基本语法如下: ```python tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None) ``` 其,各参数的含义如下: - input:输入的特征图,通常是一个四维张量,形状为 [batch, height, width, channels]。 - filter:卷积核,通常是一个四维张量,形状为 [filter_height, filter_width, in_channels, out_channels]。 - strides:卷积核在输入上滑动的步长,通常是一个四元组,形如 [1, stride, stride, 1],其间两个数字表示水平和垂直方向的步长。 - padding:填充方式,通常是一个字符串,可以取值为 "SAME" 或 "VALID",分别表示使用零填充和不使用填充。 - use_cudnn_on_gpu:是否使用 GPU 加速,默认为 True。 - data_format:输入和输出的数据格式,通常是一个字符串,可以取值为 "NHWC" 或 "NCHW",分别表示通道在最后一个维度和第二个维度。 - name:操作的名称,可选参数。 调用卷积操作的示例代码如下: ```python import tensorflow as tf input = tf.placeholder(tf.float32, [None, 28, 28, 1]) filter = tf.Variable(tf.random_normal([5, 5, 1, 32])) conv = tf.nn.conv2d(input, filter, strides=[1, 1, 1, 1], padding="SAME") ``` 以上代码,input 是一个占位符,表示输入的特征图,形状为 [None, 28, 28, 1],其 None 表示可以接受任意 batch 大小。filter 是一个随机初始化的卷积核,形状为 [5, 5, 1, 32],其前两个数字表示卷积核的大小,第三个数字表示输入的通道数,第四个数字表示输出的通道数。conv卷积操作的输出,形状为 [None, 28, 28, 32],其最后一个数字表示输出的通道数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值