Spaces:
Runtime error
Runtime error
| # Copyright (c) Meta Platforms, Inc. and affiliates. | |
| # | |
| # This source code is licensed under the Apache License, Version 2.0 | |
| # found in the LICENSE file in the root directory of this source tree. | |
| import warnings | |
| import torch.nn.functional as F | |
| def resize(input, size=None, scale_factor=None, mode="nearest", align_corners=None, warning=False): | |
| if warning: | |
| if size is not None and align_corners: | |
| input_h, input_w = tuple(int(x) for x in input.shape[2:]) | |
| output_h, output_w = tuple(int(x) for x in size) | |
| if output_h > input_h or output_w > output_h: | |
| if ( | |
| (output_h > 1 and output_w > 1 and input_h > 1 and input_w > 1) | |
| and (output_h - 1) % (input_h - 1) | |
| and (output_w - 1) % (input_w - 1) | |
| ): | |
| warnings.warn( | |
| f"When align_corners={align_corners}, " | |
| "the output would more aligned if " | |
| f"input size {(input_h, input_w)} is `x+1` and " | |
| f"out size {(output_h, output_w)} is `nx+1`" | |
| ) | |
| return F.interpolate(input, size, scale_factor, mode, align_corners) | |