【TensorFlow学习笔记(三)】常用函数:卷积

卷积函数

tf.nn.convolution

用于计算N维卷积的和

tf.nn.convolution(input, 
                  filter, 
                  padding, 
                  strides=None, 
                  dilation_rate=None, 
                  name=None, 
                  data_format=None)
tf.nn.conv2d

对四维的输入数据input和四维卷积核filter进行操作,然后对输入数据进行一个二维的卷积操作,最后得到卷积之后的结果。

tf.nn.conv2d(input, 
             filter, 
             strides, 
             padding, 
             use_cudnn_on_gpu=None, 
             data_format=None, 
             name=None)

参数说明:

  • input:一个tensor。数据类型必须是float32或者float64
  • filter:一个tensor。数据类型必须与input相同
  • strides:一个长度是4的一维整数类型数组,每一维度对应的是input中每一位的对应移动步数
  • padding:一个字符串,取值为SAME或VALID
  • use_cudnn_on_gpu:一个可选布尔值,默认值为True
  • name:为op命名
tf.nn.depthwise_conv2d
tf.nn.depthwise_conv2d(input, 
                       filter, 
                       strides, 
                       padding, 
                       rate=None, 
                       name=None, 
                       data_format=None)
tf.nn.separable_conv2d
tf.nn.separable_conv2d(input, 
                       depthwise_filter, 
                       pointwise_filter, 
                       strides, 
                       padding, 
                       rate=None, 
                       name=None, 
                       data_format=None)

tf.nn.atrous_conv2d(value, filters, rate, padding, name=None)

tf.nn.conv2d_transpose(value, filter, output_shape, strides, padding="SAME", data_format="NHWC", name=None)

tf.nn.conv1d(value, 
             filters, 
             stride, 
             padding, 
             use_cudnn_on_gpu=None, 
             data_format=None, 
             name=None)

该层创建卷积内核,它与层输入卷积混合(实际上是交叉相关)以产生输出张量.如果use_bias为True(并且提供了bias_initializer),则创建一个偏置向量并将其添加到输出中.最后,如果activation不是None,它也会应用于输出.

参数说明:

  • value:输入的tensor
  • filters:整数,输出空间的维数(即卷积中的滤波器数).
  • strides:单个整数的整数或元组/列表,指定卷积的步幅.指定任何步幅(stride)值!= 1与指定任何dilation_rate值都不相容!= 1.
  • padding:一个"valid"或"same"(不区分大小写).
  • use_cudnn_on_gpu:是否在gpu上执行操作
  • data_format:一个字符串,可以是channels_last(默认)或channels_first;输入中维度的顺序;
  • name:字符串,图层的名称.
tf.nn.conv3d(input, 
             filter, 
             strides, 
             padding, 
             name=None)

该层创建卷积内核,该卷积内核与层输入卷积混合(实际上是交叉相关)以产生输出张量.如果use_bias为True(并且提供了bias_initializer),则创建偏置向量并将其添加到输出.最后,如果activation不是None,它也会应用于输出.

参数说明:

  • input:输入tensor
  • filters:整数,输出空间的维数(即卷积中的滤波器数).
  • strides:3个整数的整数或元组/列表,指定沿深度,高度和宽度的卷积的步幅.可以是单个整数,以指定所有空间维度的相同值.指定任何步幅值!= 1与指定任何dilation_rate值!= 1都不相容.
  • padding:可以是一个"valid"或"same"(不区分大小写).
  • name:字符串,图层的名称.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章