if not self.inputs.fully_typed:
    return {}
if self.attrs.cats_int64s:
    n_encodings = len(self.attrs.cats_int64s.value)
elif self.attrs.cats_strings:
    n_encodings = len(self.attrs.cats_strings.value)
else:
    raise InferenceError(
        "Either `cats_int64s` or `cats_strings` attributes must be set."
    )
shape = (*self.inputs.X.unwrap_tensor().shape, n_encodings)  # type: ignore
return {
    "Y": Tensor(dtype=np.float32, shape=shape)
}
