tensorflow atrous convoltion
conv2d_same 就是專門針對 atrous convolution 的 dilation 進行的卷積?
https://blog.csdn.net/u013200703/article/details/79300217
def conv2d_same(inputs, num_outputs, kernel_size, stride, rate=1, scope=None):
? if stride == 1:
? ? return slim.conv2d(inputs, num_outputs, kernel_size, stride=1, rate=rate,
? ? ? ? ? ? ? ? ? ? ? ?padding='SAME', scope=scope)
? else:
? ? kernel_size_effective = kernel_size + (kernel_size - 1) * (rate - 1)
? ? pad_total = kernel_size_effective - 1
? ? pad_beg = pad_total // 2
? ? pad_end = pad_total - pad_beg
? ? inputs = tf.pad(inputs,
? ? ? ? ? ? ? ? ? ? [[0, 0], [pad_beg, pad_end], [pad_beg, pad_end], [0, 0]])
? ? return slim.conv2d(inputs, num_outputs, kernel_size, stride=stride,
? ? ? ? ? ? ? ? ? ? ? ?rate=rate, padding='VALID', scope=scope)
其實conv2d_same是為了實現
net = slim.conv2d(inputs, num_outputs, 3, stride=1, padding='SAME')
net = subsample(net, factor=stride)
所以
pad_total = (kernel_size - 1) * rate
?
總結
以上是生活随笔為你收集整理的tensorflow atrous convoltion的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何注册微信号 请按下面步骤来注册
- 下一篇: 减肥中午可以吃面条吗