From 12d409a0f6e5b4a7cacee01aa446a70faa856910 Mon Sep 17 00:00:00 2001 From: dikanquit Date: Fri, 29 May 2026 11:11:54 +0200 Subject: [PATCH] interpolate: handle size=1 with align_corners --- tinygrad/mixin/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tinygrad/mixin/__init__.py b/tinygrad/mixin/__init__.py index d24a7d9d60c4b..9b1af258ee913 100644 --- a/tinygrad/mixin/__init__.py +++ b/tinygrad/mixin/__init__.py @@ -971,7 +971,7 @@ def interpolate(self, size:tuple[int, ...], mode:str="linear", align_corners:boo assert not (align_corners and mode != "linear"), "align_corners option can only be set with the interpolating mode linear" x, expand = self, list(self.shape) for i in range(-1,-len(size)-1,-1): - scale = (int(self.shape[i]) - int(align_corners)) / (size[i] - int(align_corners)) + scale = (int(self.shape[i]) - int(align_corners)) / max(size[i] - int(align_corners), 1) arr, reshape = type(self).arange(size[i], dtype=dtypes.float32, device=self.device), [1] * self.ndim reshape[i] = expand[i] = size[i] if mode == "linear":