code: def __init__(self, logits, validate_args=None):
      batch_shape = logits.shape[:-1]
      event_shape = torch.Size()
      funsor_dist = tensor_to_funsor(logits, ("value",))
      dtype = int(logits.size(-1))
      super(Categorical, self).__init__(
          funsor_dist, batch_shape, event_shape, dtype, validate_args
      )
  
file_path: funsor/test/pyro/test_distribution.py
imports: import pyro.distributions
  import pytest
  import torch
  from funsor.pyro.convert import tensor_to_funsor
  from funsor.pyro.distribution import FunsorDistribution
  from funsor.testing import assert_close
label_desc: Use image node_id 1 to create a new Categorical object from inherited base classes: FunsorDistribution with example: obj = Categorical(logits, validate_args)