code: def test_cross_entropy_loss(
      *,
      dtype_and_targets,
      dtype_and_log_input,
      axis,
      reduction,
      class_name,
      backend_fw,
      method_name,
      ground_truth_backend,
      init_flags,
      method_flags,
      on_device,
  ):
      targets_dtype, targets = dtype_and_targets
      log_input_dtype, log_input = dtype_and_log_input
      helpers.test_method(
          backend_to_test=backend_fw,
          ground_truth_backend=ground_truth_backend,
          init_flags=init_flags,
          method_flags=method_flags,
          method_input_dtypes=targets_dtype + log_input_dtype,
          init_all_as_kwargs_np={
              "axis": axis,
              "reduction": reduction,
          },
          method_all_as_kwargs_np={
              "true": targets[0],
              "pred": log_input[0],
          },
          class_name=class_name,
          method_name=method_name,
          rtol_=1e-2,
          atol_=1e-2,
          on_device=on_device,
      )
  
imports: from hypothesis import strategies
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_method
label_desc: Use image node_id 2 for calling a global function with example usage: test_cross_entropy_loss() without return types