megengine.module.SlidingWindowTranspose

class SlidingWindowTranspose(output_size, kernel_size, padding=0, stride=1, dilation=1, **kwargs)[源代码]

Opposite opration of SlidingWindow, sum over the sliding windows on the corresponding input location. Given an input of the size \((N, C, IH, IW, window_h, window_w)\) and output_size, the output shape would be \((N, C, output\_size_{h}, output\_size_{w})\) and the arguments must satisfy

\[\text{IH} = \lfloor \frac{\text{output_size}_{h} + 2 * \text{padding}_{h} - \text{dilation}_{h} * (\text{kernel_size}_{h} - 1) - 1}{\text{stride}_{h}} + 1 \rfloor\]
\[\text{IW} = \lfloor \frac{\text{output_size}_{w} + 2 * \text{padding}_{w} - \text{dilation}_{w} * (\text{kernel_size}_{w} - 1) - 1}{\text{stride}_{w}} + 1 \rfloor\]

For each output location, we have:

\[\text{out}_{n, c, oh, ow} = \sum_{n,c,oh,ow=location(n, c, ih, iw, wh, ww)}\text{src}_{n, c, ih, iw, wh, ww}\]
\[\begin{split}\text{location}(n, c, ih, iw, wh, ww) &= (n, c, oh+wh, ow+ww) \\ \text{where } & oh=-pad_h+ih \times stride_h + (wh-1) \times (dilation_h-1) \\ & ow=-pad_w+iw \times stride_w + (ww-1) \times (dilation_w-1)\end{split}\]
参数

Methods

apply(fn)

Applies function fn to all the modules within this module, including itself.

buffers([recursive])

Returns an iterable for the buffers of the module.

children(**kwargs)

Returns an iterable for all the submodules that are direct attributes of this module.

disable_quantize([value])

Sets module's quantize_disabled attribute and return module.

eval()

Sets training mode of all the modules within this module (including itself) to False.

forward(inp)

load_state_dict(state_dict[, strict])

Loads a given dictionary created by state_dict into this module.

modules(**kwargs)

Returns an iterable for all the modules within this module, including itself.

named_buffers([prefix, recursive])

Returns an iterable for key buffer pairs of the module, where key is the dotted path from this module to the buffer.

named_children(**kwargs)

Returns an iterable of key-submodule pairs for all the submodules that are direct attributes of this module, where 'key' is the attribute name of submodules.

named_modules([prefix])

Returns an iterable of key-module pairs for all the modules within this module, including itself, where 'key' is the dotted path from this module to the submodules.

named_parameters([prefix, recursive])

Returns an iterable for key Parameter pairs of the module, where key is the dotted path from this module to the Parameter.

named_tensors([prefix, recursive])

Returns an iterable for key tensor pairs of the module, where key is the dotted path from this module to the tensor.

parameters([recursive])

Returns an iterable for the Parameter of the module.

register_forward_hook(hook)

Registers a hook to handle forward results.

register_forward_pre_hook(hook)

Registers a hook to handle forward inputs.

replace_param(params, start_pos[, seen])

Replaces module's parameters with params, used by ParamPack to

state_dict([rst, prefix, keep_var])

tensors([recursive])

Returns an iterable for the Tensor of the module.

train([mode, recursive])

Sets training mode of all the modules within this module (including itself) to mode.

zero_grad()

Sets all parameters' grads to zero