public class Conv2dTranspose extends Deconvolution
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.
Deconvolution
Modifier and Type | Class and Description |
---|---|
static class |
Conv2dTranspose.Builder
The Builder to construct a
Conv2dTranspose type of Block . |
Deconvolution.DeconvolutionBuilder<T extends Deconvolution.DeconvolutionBuilder>
bias, dilation, filters, groups, includeBias, kernelShape, outPadding, padding, stride, weight
children, inputNames, inputShapes, parameters, version
Modifier and Type | Method and Description |
---|---|
static Conv2dTranspose.Builder |
builder()
Creates a builder to build a
Conv2dTranspose . |
static NDList |
conv2dTranspose(NDArray input,
NDArray weight)
Applies 2D deconvolution over an input signal composed of several input planes.
|
static NDList |
conv2dTranspose(NDArray input,
NDArray weight,
NDArray bias)
Applies 2D deconvolution over an input signal composed of several input planes.
|
static NDList |
conv2dTranspose(NDArray input,
NDArray weight,
NDArray bias,
Shape stride)
Applies 2D deconvolution over an input signal composed of several input planes.
|
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.
|
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.
|
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.
|
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.
|
protected LayoutType[] |
getExpectedLayout()
Returns the expected layout of the input.
|
protected java.lang.String |
getStringLayout()
Returns the string representing the layout of the input.
|
protected int |
numDimensions()
Returns the number of dimensions of the input.
|
beforeInitialize, forwardInternal, getOutputShapes, loadMetadata, prepare
addChildBlock, addParameter, cast, clear, describeInput, forward, forward, forwardInternal, getChildren, getDirectParameters, getParameters, initialize, initializeChildBlocks, isInitialized, loadParameters, readInputShapes, saveInputShapes, saveMetadata, saveParameters, setInitializer, setInitializer, setInitializer, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forward, validateLayout
protected LayoutType[] getExpectedLayout()
getExpectedLayout
in class Deconvolution
protected java.lang.String getStringLayout()
getStringLayout
in class Deconvolution
protected int numDimensions()
numDimensions
in class Deconvolution
public static NDList conv2dTranspose(NDArray input, NDArray weight)
input
- the input NDArray
of shape (batchSize, inputChannel, height, width)weight
- filters NDArray
of shape (outChannel, inputChannel/groups, height,
width)public static NDList conv2dTranspose(NDArray input, NDArray weight, NDArray bias)
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)public static NDList conv2dTranspose(NDArray input, NDArray weight, NDArray bias, Shape stride)
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)public static NDList conv2dTranspose(NDArray input, NDArray weight, NDArray bias, Shape stride, Shape padding)
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)public static NDList conv2dTranspose(NDArray input, NDArray weight, NDArray bias, Shape stride, Shape padding, Shape outPadding)
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.public static NDList conv2dTranspose(NDArray input, NDArray weight, NDArray bias, Shape stride, Shape padding, Shape outPadding, Shape dilation)
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)public static NDList conv2dTranspose(NDArray input, NDArray weight, NDArray bias, Shape stride, Shape padding, Shape outPadding, Shape dilation, int groups)
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 groupspublic static Conv2dTranspose.Builder builder()
Conv2dTranspose
.