code: def distributions():
      d1 = Categorical([[0.8, 0.1]])
      d2 = Categorical([[0.3, 0.6, 0.1]])
      d3 = Categorical([[0.9, 0.1]])
      d4 = Categorical([[0.3, 0.7]])
  
      d12 = ConditionalCategorical([[[0.4, 0.6], [0.7, 0.3]]])
      d22 = ConditionalCategorical([[[0.7, 0.1, 0.2], [0.5, 0.4, 0.1]]])
      d32 = ConditionalCategorical([[[0.5, 0.5], [0.1, 0.9]]])
  
      d13 = ConditionalCategorical(
          [
              [
                  [[0.6, 0.4], [0.3, 0.7]],
                  [[0.5, 0.5], [0.2, 0.8]],
                  [[0.3, 0.7], [0.9, 0.1]],
              ]
          ]
      )
  
      return d1, d2, d3, d4, d12, d22, d32, d13
  
imports: import numpy
  import torch
  import pytest
  from pomegranate.bayesian_network import BayesianNetwork
  from pomegranate.distributions import Exponential
  from pomegranate.distributions import Categorical
  from pomegranate.distributions import ConditionalCategorical
  from nose.tools import assert_raises
  from numpy.testing import assert_array_equal
  from numpy.testing import assert_array_almost_equal
label_desc: Use image node_id 5 for calling a global function with example usage: distributions() and returns: d1,  d2,  d3,  d4,  d12,  d22,  d32,  d13