code: def test_multi_categorical_entropy():
      """distribution test"""
      logits = torch.from_numpy(np.random.randn(8))
      dist = MultiCategoricalProbabilityDistribution(
          logits=logits,
          action_space=spaces.MultiDiscrete((3, 5)),
          temperature=1.0,
      )
      assert dist.entropy().numpy().ndim == 0
  
      logits = torch.from_numpy(np.random.randn(100, 8))
      dist = MultiCategoricalProbabilityDistribution(
          logits=logits,
          action_space=spaces.MultiDiscrete((3, 5)),
          temperature=1.0,
      )
      assert dist.entropy().numpy().ndim == 1
      assert dist.entropy().numpy().shape == (100,)
  
      logits = torch.from_numpy(np.random.randn(100, 8, 8))
      dist = MultiCategoricalProbabilityDistribution(
          logits=logits,
          action_space=spaces.MultiDiscrete((3, 5)),
          temperature=1.0,
      )
      assert dist.entropy().numpy().ndim == 2
      assert dist.entropy().numpy().shape == (100, 8)
  
file_path: maze/maze/test/distributions/test_multi_categorical.py
imports: import numpy
  import torch
  from gym import spaces
  from maze.distributions.multi_categorical import MultiCategoricalProbabilityDistribution
label_desc: Use image node_id 2 for calling a global function with example usage: test_multi_categorical_entropy() without return types