resize_batch#
- composer.functional.resize_batch(input, target, scale_factor, mode='resize', resize_targets=False)[source]#
Resize inputs and optionally outputs by cropping or interpolating.
- Parameters
input (Tensor) โ input tensor of shape
(N, C, H, W)
. Resizing will be done along dimensions H and W using the constant factorscale_factor
.target (Tensor) โ output tensor of shape
(N, H, W)
or(N, C, H, W)
that will also be resized ifresize_targets
isTrue
,scale_factor (float) โ scaling coefficient for the height and width of the input/output tensor. 1.0 keeps the original size.
mode (str, optional) โ type of scaling to perform. Value must be one of
'crop'
or'resize'
.'crop'
performs a random crop, whereas'resize'
performs a nearest neighbor interpolation. Default:"resize"
.resize_targets (bool, optional) โ whether to resize the targets,
y
. Default:False
.
- Returns
X_sized โ resized input tensor of shape
(N, C, H * scale_factor, W * scale_factor)
.y_sized โ if
resized_targets
isTrue
, resized output tensor of shape(N, H * scale_factor, W * scale_factor)
or(N, C, H * scale_factor, W * scale_factor)
. Depending on the inputy
. Otherwise returns originaly
.
Example
from composer.algorithms.progressive_resizing import resize_batch X_resized, y_resized = resize_batch(X_example, y_example, scale_factor=0.5, mode='resize', resize_targets=False)