diff --git a/tsai/data/preprocessing.py b/tsai/data/preprocessing.py index 59dce9ab..49fa7649 100644 --- a/tsai/data/preprocessing.py +++ b/tsai/data/preprocessing.py @@ -292,7 +292,12 @@ def encodes(self, o:TSTensor): else: _min, _max = o.mul_min(self.axes, keepdim=self.axes!=()), o.mul_max(self.axes, keepdim=self.axes!=()) self.min, self.max = _min, _max - output = ((o - self.min) / (self.max - self.min)) * (self.range_max - self.range_min) + self.range_min + diff = (self.max - self.min) + output = torch.where( + diff != 0, + ((o - self.min) / diff) * (self.range_max - self.range_min) + self.range_min, + torch.tensor(self.range_min, dtype=o.dtype, device=o.device), + ) if self.clip_values: if self.by_var and is_listy(self.by_var): for v in self.by_var: