if self.inputs.X.type is None:
    return {}
sc, off = self.attrs.scale, self.attrs.offset
if sc is None or off is None:
    raise InferenceError("Scale and offset are required attributes.")
t = self.inputs.X.unwrap_tensor()
# If the number of features is known (last row, we can check this here)
last = t.shape[-1] if t.shape else 1
if isinstance(last, int) and len(sc.value) not in {1, last}:
    raise InferenceError(f"Mismatched expected ({len(sc.value)}) and actual ({last}) feature count for scale.")
if isinstance(last, int) and len(off.value) not in {1, last}:
    raise InferenceError(f"Mismatched expected ({len(off.value)}) and actual ({last}) feature count for offset.")
return {"Y": Tensor(np.float32, t.shape)}
