W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
tf.nn.atrous_conv2d(
value,
filters,
rate,
padding,
name=None
)
定義在:tensorflow/python/ops/nn_ops.py.
請參閱指南:神經網絡>卷積運算
Atrous卷積.
此函數是更通用的tf.nn.convolution的更簡單的包裝器,僅用于向后兼容.您可以使用tf.nn.convolution來執(zhí)行1-D,2-D或3-D動態(tài)卷積.
在給定4-D value和filters張量的情況下,計算二維動態(tài)卷積,也稱為帶孔的卷積或擴大的卷積.如果rate參數等于1,則執(zhí)行常規(guī)的2-D卷積.如果rate參數大于1,則執(zhí)行帶孔的卷積,對height和width維度中的每個rate像素采樣輸入值.這相當于用一組上采樣濾波器將輸入卷積,這些濾波器是通過沿著height和width維度在濾波器的兩個連續(xù)值之間插入rate - 1零來產生的,因此名稱是atrous卷積或帶孔的卷積.
進一步來說:
output[batch, height, width, out_channel] =
sum_{dheight, dwidth, in_channel} (
filters[dheight, dwidth, in_channel, out_channel] *
value[batch, height + rate*dheight, width + rate*dwidth, in_channel]
)
Atrous卷積允許我們明確地控制在完全卷積網絡中計算特征響應的密集程度.與雙線性插值結合使用,它為 conv2d_transpose 在密集的預測任務(如語義圖像分割、光流計算或深度估計) 中提供了一種替代方案.它還允許我們有效地擴大濾波器的視野,而不增加參數的數量或計算量.
有關atrous卷積及其如何用于密集特征提取的描述,請參閱:使用深度卷積網絡和完全連接的CRF進行語義圖像分割.通過擴張卷積的多尺度上下文聚合中進一步研究相同的操作.以前以不同方式有效使用atrous卷積,包含:OverFeat:使用卷積網絡進行集成識別,定位和檢測以及使用深度最大池匯聚神經網絡的快速圖像掃描.
有許多不同的方法可以實現atrous卷積(參見上面的參考文獻).這里的實現減少了:
atrous_conv2d(value, filters, rate, padding=padding)
進行以下三項操作:
paddings = ...
net = space_to_batch(value, paddings, block_size=rate)
net = conv2d(net, filters, strides=[1, 1, 1, 1], padding="VALID")
crops = ...
net = batch_to_space(net, crops, block_size=rate)
高級用法.請注意以下優(yōu)化:具有相同rate參數,'SAME' padding和具有奇數高度/寬度的過濾器的atrous_conv2d操作序列:
net = atrous_conv2d(net, filters1, rate, padding="SAME")
net = atrous_conv2d(net, filters2, rate, padding="SAME")
...
net = atrous_conv2d(net, filtersK, rate, padding="SAME")
可以在計算和內存方面等效地執(zhí)行:
pad = ... # padding so that the input dims are multiples of rate
net = space_to_batch(net, paddings=pad, block_size=rate)
net = conv2d(net, filters1, strides=[1, 1, 1, 1], padding="SAME")
net = conv2d(net, filters2, strides=[1, 1, 1, 1], padding="SAME")
...
net = conv2d(net, filtersK, strides=[1, 1, 1, 1], padding="SAME")
net = batch_to_space(net, crops=pad, block_size=rate)
因為當它們各自的paddings和crops輸入相同時,一對具有相同block_size的連續(xù)的space_to_batch和batch_to_space操作會抵消.
參數:
返回:
與value具有相同類型的Tensor.帶有'VALID``填充的輸出形狀是:
[batch, height - 2 * (filter_width - 1),
width - 2 * (filter_height - 1), out_channels]
帶'SAME'填充的輸出形狀是:
[batch, height, width, out_channels]
可能引發(fā)的異常:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: