| nn_avg_pool3d {torch} | R Documentation |
Applies a 3D average pooling over an input signal composed of several input planes.
Description
In the simplest case, the output value of the layer with input size (N, C, D, H, W),
output (N, C, D_{out}, H_{out}, W_{out}) and kernel_size (kD, kH, kW)
can be precisely described as:
Usage
nn_avg_pool3d(
kernel_size,
stride = NULL,
padding = 0,
ceil_mode = FALSE,
count_include_pad = TRUE,
divisor_override = NULL
)
Arguments
kernel_size |
the size of the window |
stride |
the stride of the window. Default value is |
padding |
implicit zero padding to be added on all three sides |
ceil_mode |
when TRUE, will use |
count_include_pad |
when TRUE, will include the zero-padding in the averaging calculation |
divisor_override |
if specified, it will be used as divisor, otherwise |
Details
\begin{array}{ll}
\mbox{out}(N_i, C_j, d, h, w) = & \sum_{k=0}^{kD-1} \sum_{m=0}^{kH-1} \sum_{n=0}^{kW-1} \\
& \frac{\mbox{input}(N_i, C_j, \mbox{stride}[0] \times d + k, \mbox{stride}[1] \times h + m, \mbox{stride}[2] \times w + n)}{kD \times kH \times kW}
\end{array}
If padding is non-zero, then the input is implicitly zero-padded on all three sides
for padding number of points.
The parameters kernel_size, stride can either be:
a single
int– in which case the same value is used for the depth, height and width dimensiona
tupleof three ints – in which case, the firstintis used for the depth dimension, the secondintfor the height dimension and the thirdintfor the width dimension
Shape
Input:
(N, C, D_{in}, H_{in}, W_{in})Output:
(N, C, D_{out}, H_{out}, W_{out}), where
D_{out} = \left\lfloor\frac{D_{in} + 2 \times \mbox{padding}[0] -
\mbox{kernel\_size}[0]}{\mbox{stride}[0]} + 1\right\rfloor
H_{out} = \left\lfloor\frac{H_{in} + 2 \times \mbox{padding}[1] -
\mbox{kernel\_size}[1]}{\mbox{stride}[1]} + 1\right\rfloor
W_{out} = \left\lfloor\frac{W_{in} + 2 \times \mbox{padding}[2] -
\mbox{kernel\_size}[2]}{\mbox{stride}[2]} + 1\right\rfloor
Examples
if (torch_is_installed()) {
# pool of square window of size=3, stride=2
m <- nn_avg_pool3d(3, stride = 2)
# pool of non-square window
m <- nn_avg_pool3d(c(3, 2, 2), stride = c(2, 1, 2))
input <- torch_randn(20, 16, 50, 44, 31)
output <- m(input)
}