Link Search Menu Expand Document

FusedResizeAndPadConv2D


tensorflow C++ API

tensorflow::ops::FusedResizeAndPadConv2D

Performs a resize and padding as a preprocess during a convolution.


Summary

It’s often possible to do spatial transformations more efficiently as part of the packing stage of a convolution, so this op allows for an optimized implementation where these stages are fused together. This 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 forConv2Disn’t supported by this op, and defaults to ‘NHWC’ order. 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.

Arguments:

  • scope: A Scope object
  • input: 4-D with shape [batch, in_height, in_width, in_channels].
  • size: A 1-D int32 Tensor of 2 elements: new_height, new_width. The new size for the images.
  • 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.

Optional attributes (seeAttrs):

  • resize_align_corners: If true, rescale input by (new_height - 1) / (height - 1), which exactly aligns the 4 corners of images and resized images. If false, rescale by new_height / height. Treat similarly the width dimension.

Returns:


FusedResizeAndPadConv2D block

Source link : https://github.com/EXPNUNI/enuSpaceTensorflow/blob/master/enuSpaceTensorflow/tf_nn.cpp

Argument:

  • Scope scope : A Scope object (A scope is generated automatically each page. A scope is not connected.)
  • Input input: connect Input node.
  • Input size: connect Input node.
  • Input paddings: connect Input node.
  • Input filter: connect Input node.
  • StringPiece mode: Input mode in value. ex) REFLECT
  • ArraySlice< int> strides_: Input _strides in value ex)1,3,2,1
  • StringPiece mode: Input mode in value. ex) SAME

Return:

  • Output output: Output object of FusedPadConv2D class object.

Result:

  • std::vector(Tensor) result_output : Returned object of executed result by calling session.

Using Method