code: def test_cross_entropy_multi_derivative(backend_default):
      outputs = np.array([0.5, 1.0, 0.0, 0.0001]).reshape((4, 1))
      targets = np.array(([0.5, 0.0, 1.0, 0.2])).reshape((4, 1))
      expected_result = (outputs - targets) / outputs.shape[1]
      compare_tensors(
          CrossEntropyMulti(),
          outputs,
          targets,
          expected_result,
          deriv=True,
          tol=1e-6,
      )
  
imports: import itertools
  import numpy
  from neon import NervanaObject
  from neon.backends import gen_backend
  from neon.transforms import CrossEntropyBinary, CrossEntropyMulti, SumSquared, MeanSquared, Misclassification, PrecisionRecall, SmoothL1Loss, SquareHingeLoss
label_desc: Use image node_id 8 for calling a global function with example usage: test_cross_entropy_multi_derivative(backend_default) without return types