【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:字符串,圖層的名稱.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章