TensorFlow函數(shù)教程:tf.nn.depthwise_conv2d

2019-01-31 13:46 更新

tf.nn.depthwise_conv2d函數(shù)

tf.nn.depthwise_conv2d(
    input,
    filter,
    strides,
    padding,
    rate=None,
    name=None,
    data_format=None
)

定義在:tensorflow/python/ops/nn_impl.py.

請(qǐng)參閱指南:神經(jīng)網(wǎng)絡(luò)>卷積運(yùn)算

深度 2-D 卷積.

給定4D輸入張量(數(shù)據(jù)格式為'NHWC'或'NCHW')和形狀為[filter_height, filter_width, in_channels, channel_multiplier]的濾波器張量,它包含深度為1的in_channels卷積濾波器,depthwise_conv2d對(duì)每個(gè)輸入通道應(yīng)用不同的濾波器(從1通道擴(kuò)展到每個(gè)通道channel_multiplier),然后將結(jié)果連接在一起.輸出有in_channels * channel_multiplier個(gè)通道.

詳細(xì)地,

output[b, i, j, k * channel_multiplier + q] = sum_{di, dj}
     filter[di, dj, k, q] * input[b, strides[1] * i + rate[0] * di,
                                     strides[2] * j + rate[1] * dj, k]

必須有strides[0] = strides[3] = 1.對(duì)于相同水平和垂直步幅的最常見情況,strides = [1, stride, stride, 1].如果rate中的任何值大于1,我們執(zhí)行等值深度卷積,在這種情況下,strides張量中的所有值必須等于1.

參數(shù):

  • input:4-D,形狀根據(jù)data_format得出.
  • filter:4-D,形狀為[filter_height, filter_width, in_channels, channel_multiplier].
  • strides:1-D,大小為4,input每個(gè)尺寸的滑動(dòng)窗口的步幅.
  • padding:一個(gè)字符串,可以是'VALID'或者'SAME',填充算法.
  • rate:1-D,大小為2;我們在等值卷積中在heightwidth維度上對(duì)輸入值進(jìn)行采樣的擴(kuò)張率.如果它大于1,則步幅的所有值必須為1.
  • name:此操作的名稱(可選).
  • data_format:輸入的數(shù)據(jù)格式,可以是“NHWC”(默認(rèn))或“NCHW”.

返回:

4-DTensor, 形狀工具data_format得到.例如,對(duì)于“NHWC”格式,形狀是[batch, out_height, out_width, in_channels * channel_multiplier].

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)