diff options
Diffstat (limited to 'tensorflow/core/ops/nn_ops.cc')
-rw-r--r-- | tensorflow/core/ops/nn_ops.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tensorflow/core/ops/nn_ops.cc b/tensorflow/core/ops/nn_ops.cc index 0b5d159667..e06e14966b 100644 --- a/tensorflow/core/ops/nn_ops.cc +++ b/tensorflow/core/ops/nn_ops.cc @@ -654,6 +654,40 @@ strides: 1-D of length 4. The stride of the sliding window for each dimension padding: The type of padding algorithm to use. )doc"); +REGISTER_OP("FusedPadConv2D") + .Input("input: T") + .Input("paddings: int32") + .Input("filter: T") + .Output("output: T") + .Attr("T: {half, float, double}") + .Attr(GetMirrorPadModeAttrString()) + .Attr("strides: list(int)") + .Attr(GetPaddingAttrString()) + .Doc(R"doc( +Performs a padding as a preprocess during a convolution. + +Similar to FusedResizeAndPadConv2d, this op allows for an optimized +implementation where the spatial padding transformation stage is fused with the +im2col lookup, but in this case without the bilinear filtering required for +resizing. Fusing the padding prevents the need to write out the intermediate +results as whole tensors, reducing memory pressure, and we can get some latency +gains by merging the transformation calculations. +The data_format attribute for Conv2D isn't supported by this op, and 'NHWC' +order is used instead. +Internally this op uses a single per-graph scratch buffer, which means that it +will block if multiple versions are being run in parallel. This is because this +operator is primarily an optimization to minimize memory usage. + +input: 4-D with shape `[batch, in_height, in_width, in_channels]`. +paddings: A two-column matrix specifying the padding sizes. The number of + rows must be the same as the rank of `input`. +filter: 4-D with shape + `[filter_height, filter_width, in_channels, out_channels]`. +strides: 1-D of length 4. The stride of the sliding window for each dimension + of `input`. Must be in the same order as the dimension specified with format. +padding: The type of padding algorithm to use. + )doc"); + // -------------------------------------------------------------------------- REGISTER_OP("DepthwiseConv2dNative") |