code: def test_multi_categorical_kl():
      """distribution test"""
      logits_0 = torch.from_numpy(np.random.randn(100, 8, 8))
      logits_1 = torch.from_numpy(np.random.randn(100, 8, 8))
  
      dist_0 = MultiCategoricalProbabilityDistribution(
          logits=logits_0,
          action_space=spaces.MultiDiscrete((3, 5)),
          temperature=1.0,
      )
      dist_1 = MultiCategoricalProbabilityDistribution(
          logits=logits_1,
          action_space=spaces.MultiDiscrete((3, 5)),
          temperature=1.0,
      )
  
      assert dist_0.kl(dist_1).numpy().ndim == 2
      assert dist_0.kl(dist_1).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 4 for calling a global function with example usage: test_multi_categorical_kl() without return types