code: def test_log_probability(X, probs):
      y = [
          -2.463693,
          -4.869136,
          -1.709921,
          -3.616373,
          -2.545931,
          -3.89222,
          -3.640089,
      ]
  
      d1 = ConditionalCategorical(probs)
      d2 = ConditionalCategorical(
          [numpy.array(prob, dtype=numpy.float64) for prob in probs]
      )
  
      _test_predictions(X, y, d1.log_probability(X), torch.float32)
      _test_predictions(X, y, d2.log_probability(X), torch.float64)
  
imports: import numpy
  import torch
  import pytest
  from pomegranate.distributions import ConditionalCategorical
  from ._utils import _test_initialization_raises_one_parameter
  from ._utils import _test_initialization
  from ._utils import _test_predictions
  from ._utils import _test_raises
  from nose.tools import assert_raises
  from numpy.testing import assert_array_almost_equal
label_desc: Use image node_id 14 for calling a global function with example usage: test_log_probability(X, probs) without return types