What is the difference between deconvolution and upsample in cafe?

2021-10-14 11:49作者:admin来源:未知>次阅读

answer 1:

deconvolution:

in each deep platform, it is implemented as the transfer revolution function. The image understanding process is as follows:

http://cs231n.stanford.edu/slides/2017/cs231n_ 2017_ Selecture11. PDF

input pixel * filter = output window. The overlapping parts of different output windows are processed by sum superposition

. This explanation is consistent with the definition of cafe. The definition in cafe is explained as: \ """Initialize weight for upsampling layers.""" def __init__(self): super(Bilinear, self).__init__() def _init_weight(self, _, arr): weight = np.zeros(np.prod(arr.shape), dtype='float32') shape = arr.shape f = np.ceil(shape[3] / 2.) c = (2 * f - 1 - f % 2) / (2. * f) for i in range(np.prod(shape)): x = i % shape[3] y = (i / shape[3]) % shape[2] weight[i] = (1 - abs(x / f - c)) * (1 - abs(y / f - c)) Arr [:] = weight. Reshape (shape)

weight [i] = (1 - ABS (x / F - C)) * (1 - ABS (Y / F - C)) I haven't found the specific formula source, but the guess comes from the following formula (divine multiplication)

see the derivation process of this formula for details: bilinear interpolation

I'm trying to make" arr = np.zeros ((1, 1, 3, 3)) ", the ARR obtained is like this:

[[[[0.0625 0.1875 0.1875]

[0.1875 0.5625 0.5625]

[0.1875 0.5625 0.5625]]]]

2. When the learning rate of this layer is not 0, the weight is no longer initialized as bilinearfiller. With the training of the network, its function is equivalent to deconvolution, that is, convtransfer


热门排行

最新文章

Powered by 世界滤芯新闻网 @2018 RSS地图 HTML地图

Copyright 365建站 © 2008-2021 华绿环保 版权所有