T
- data type for output()
output@Operator(group="nn") public final class Conv2d<T extends Number> extends PrimitiveOp implements Operand<T>
Given an input tensor of shape `[batch, in_height, in_width, in_channels]` and a filter / kernel tensor of shape `[filter_height, filter_width, in_channels, out_channels]`, this op performs the following:
1. Flattens the filter to a 2-D matrix with shape `[filter_height * filter_width * in_channels, output_channels]`. 2. Extracts image patches from the input tensor to form a virtual tensor of shape `[batch, out_height, out_width, filter_height * filter_width * in_channels]`. 3. For each patch, right-multiplies the filter matrix and the image patch vector.
In detail, with the default NHWC format,
output[b, i, j, k] = sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] * filter[di, dj, q, k]
Must have `strides[0] = strides[3] = 1`. For the most common case of the same horizontal and vertices strides, `strides = [1, stride, stride, 1]`.
Modifier and Type | Class and Description |
---|---|
static class |
Conv2d.Options
Optional attributes for
Conv2d |
operation
Modifier and Type | Method and Description |
---|---|
Output<T> |
asOutput()
Returns the symbolic handle of a tensor.
|
static <T extends Number> |
create(Scope scope,
Operand<T> input,
Operand<T> filter,
List<Long> strides,
String padding,
Conv2d.Options... options)
Factory method to create a class wrapping a new Conv2d operation.
|
static Conv2d.Options |
dataFormat(String dataFormat) |
static Conv2d.Options |
dilations(List<Long> dilations) |
static Conv2d.Options |
explicitPaddings(List<Long> explicitPaddings) |
Output<T> |
output()
A 4-D tensor.
|
static Conv2d.Options |
useCudnnOnGpu(Boolean useCudnnOnGpu) |
equals, hashCode, op, toString
public static <T extends Number> Conv2d<T> create(Scope scope, Operand<T> input, Operand<T> filter, List<Long> strides, String padding, Conv2d.Options... options)
scope
- current scopeinput
- A 4-D tensor. The dimension order is interpreted according to the value
of `data_format`, see below for details.filter
- A 4-D tensor of shape
`[filter_height, filter_width, in_channels, out_channels]`strides
- 1-D tensor of length 4. The stride of the sliding window for each
dimension of `input`. The dimension order is determined by the value of
`data_format`, see below for details.padding
- The type of padding algorithm to use.options
- carries optional attributes valuespublic static Conv2d.Options useCudnnOnGpu(Boolean useCudnnOnGpu)
useCudnnOnGpu
- public static Conv2d.Options explicitPaddings(List<Long> explicitPaddings)
explicitPaddings
- If `padding` is `"EXPLICIT"`, the list of explicit padding amounts. For the ith
dimension, the amount of padding inserted before and after the dimension is
`explicit_paddings[2 * i]` and `explicit_paddings[2 * i + 1]`, respectively. If
`padding` is not `"EXPLICIT"`, `explicit_paddings` must be empty.public static Conv2d.Options dataFormat(String dataFormat)
dataFormat
- Specify the data format of the input and output data. With the
default format "NHWC", the data is stored in the order of:
[batch, height, width, channels].
Alternatively, the format could be "NCHW", the data storage order of:
[batch, channels, height, width].public static Conv2d.Options dilations(List<Long> dilations)
dilations
- 1-D tensor of length 4. The dilation factor for each dimension of
`input`. If set to k > 1, there will be k-1 skipped cells between each
filter element on that dimension. The dimension order is determined by the
value of `data_format`, see above for details. Dilations in the batch and
depth dimensions must be 1.public Output<T> output()
public Output<T> asOutput()
Operand
Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.
asOutput
in interface Operand<T extends Number>
OperationBuilder.addInput(Output)
Copyright © 2022. All rights reserved.