Class Conv2dTranspose

  • All Implemented Interfaces:
    Block

    public class Conv2dTranspose
    extends Deconvolution
    The input to a Conv2dTranspose is an NDList with a single 4-D NDArray. The layout of the NDArray must be "NCHW". The shapes are
    • data: (batch_size, channel, height, width)
    • weight: (num_filter, channel, kernel[0], kernel[1])
    • bias: (num_filter,)
    • out: (batch_size, num_filter, out_height, out_width)
      out_height = f(height, kernel[0], pad[0], oPad[0], stride[0], dilate[0])
      out_width = f(width, kernel[1], pad[1], oPad[1], stride[1], dilate[1])
      where f(x, k, p, oP, s, d) = (x-1)*s-2*p+k+oP

    Both weight and bias are learn-able parameters.

    See Also:
    Deconvolution
    • Method Detail

      • getExpectedLayout

        protected LayoutType[] getExpectedLayout()
        Returns the expected layout of the input.
        Specified by:
        getExpectedLayout in class Deconvolution
        Returns:
        the expected layout of the input
      • getStringLayout

        protected java.lang.String getStringLayout()
        Returns the string representing the layout of the input.
        Specified by:
        getStringLayout in class Deconvolution
        Returns:
        the string representing the layout of the input
      • numDimensions

        protected int numDimensions()
        Returns the number of dimensions of the input.
        Specified by:
        numDimensions in class Deconvolution
        Returns:
        the number of dimensions of the input
      • conv2dTranspose

        public static NDList conv2dTranspose​(NDArray input,
                                             NDArray weight)
        Applies 2D deconvolution over an input signal composed of several input planes.
        Parameters:
        input - the input NDArray of shape (batchSize, inputChannel, height, width)
        weight - filters NDArray of shape (outChannel, inputChannel/groups, height, width)
        Returns:
        the output of the conv2dTranspose operation
      • conv2dTranspose

        public static NDList conv2dTranspose​(NDArray input,
                                             NDArray weight,
                                             NDArray bias)
        Applies 2D deconvolution over an input signal composed of several input planes.
        Parameters:
        input - the input NDArray of shape (batchSize, inputChannel, height, width)
        weight - filters NDArray of shape (outChannel, inputChannel/groups, height, width)
        bias - bias NDArray of shape (outChannel)
        Returns:
        the output of the conv2dTranspose operation
      • conv2dTranspose

        public static NDList conv2dTranspose​(NDArray input,
                                             NDArray weight,
                                             NDArray bias,
                                             Shape stride)
        Applies 2D deconvolution over an input signal composed of several input planes.
        Parameters:
        input - the input NDArray of shape (batchSize, inputChannel, height, width)
        weight - filters NDArray of shape (outChannel, inputChannel/groups, height, width)
        bias - bias NDArray of shape (outChannel)
        stride - the stride of the deconvolving kernel: Shape(height, width)
        Returns:
        the output of the conv2dTranspose operation
      • conv2dTranspose

        public static NDList conv2dTranspose​(NDArray input,
                                             NDArray weight,
                                             NDArray bias,
                                             Shape stride,
                                             Shape padding)
        Applies 2D deconvolution over an input signal composed of several input planes.
        Parameters:
        input - the input NDArray of shape (batchSize, inputChannel, height, width)
        weight - filters NDArray of shape (outChannel, inputChannel/groups, height, width)
        bias - bias NDArray of shape (outChannel)
        stride - the stride of the deconvolving kernel: Shape(height, width)
        padding - implicit paddings on both sides of the input: Shape(height, width)
        Returns:
        the output of the conv2dTranspose operation
      • conv2dTranspose

        public static NDList conv2dTranspose​(NDArray input,
                                             NDArray weight,
                                             NDArray bias,
                                             Shape stride,
                                             Shape padding,
                                             Shape outPadding)
        Applies 2D deconvolution over an input signal composed of several input planes.
        Parameters:
        input - the input NDArray of shape (batchSize, inputChannel, height, width)
        weight - filters NDArray of shape (outChannel, inputChannel/groups, height, width)
        bias - bias NDArray of shape (outChannel)
        stride - the stride of the deconvolving kernel: Shape(height, width)
        padding - implicit paddings on both sides of the input: Shape(height, width)
        outPadding - Controls the amount of implicit zero-paddings on both sides of the output for outputPadding number of points for each dimension.
        Returns:
        the output of the conv2dTranspose operation
      • conv2dTranspose

        public static NDList conv2dTranspose​(NDArray input,
                                             NDArray weight,
                                             NDArray bias,
                                             Shape stride,
                                             Shape padding,
                                             Shape outPadding,
                                             Shape dilation)
        Applies 2D deconvolution over an input signal composed of several input planes.
        Parameters:
        input - the input NDArray of shape (batchSize, inputChannel, height, width)
        weight - filters NDArray of shape (outChannel, inputChannel/groups, height, width)
        bias - bias NDArray of shape (outChannel)
        stride - the stride of the deconvolving kernel: Shape(height, width)
        padding - implicit paddings on both sides of the input: Shape(height, width)
        outPadding - Controls the amount of implicit zero-paddings on both sides of the output for outputPadding number of points for each dimension.
        dilation - the spacing between kernel elements: Shape(height, width)
        Returns:
        the output of the conv2dTranspose operation
      • conv2dTranspose

        public static NDList conv2dTranspose​(NDArray input,
                                             NDArray weight,
                                             NDArray bias,
                                             Shape stride,
                                             Shape padding,
                                             Shape outPadding,
                                             Shape dilation,
                                             int groups)
        Applies 2D deconvolution over an input signal composed of several input planes.
        Parameters:
        input - the input NDArray of shape (batchSize, inputChannel, height, width)
        weight - filters NDArray of shape (outChannel, inputChannel/groups, height, width)
        bias - bias NDArray of shape (outChannel)
        stride - the stride of the deconvolving kernel: Shape(height, width)
        padding - implicit paddings on both sides of the input: Shape(height, width)
        outPadding - Controls the amount of implicit zero-paddings on both sides of the output for outputPadding number of points for each dimension. Shape(height, width)
        dilation - the spacing between kernel elements: Shape(height, width)
        groups - split input into groups: input channel(input.size(1)) should be divisible by the number of groups
        Returns:
        the output of the conv2dTranspose operation
      • builder

        public static Conv2dTranspose.Builder builder()
        Creates a builder to build a Conv2dTranspose.
        Returns:
        a new builder