class_docstr: Test that SoftmaxCrossEntropyWithLogits operates reproducibly.
  
  Inheriting from xent_op_test_base.XentTestBase ensures that regular op
  functionality is correct when the deterministic code-path is selected.
  
  Note that because nn_ops.softmax_cross_entropy_with_logits calls
  nn_ops.cross_entropy_with_logits_v2, the focus of testing is on the
  former in order to test both.
code: def testForward(self):
      with self.cached_session():
          for dtype in [
              np.float16,
              np.float32,
              np.float64,
              dtypes.bfloat16.as_numpy_dtype,
          ]:
              for trial in range(5):
                  seed = 123 + trial
                  labels, logits = self._generateInputs(
                      dtype, seed=seed, forward_not_backward=True
                  )
                  result_a = nn_ops.softmax_cross_entropy_with_logits(
                      labels=labels, logits=logits
                  )
                  result_b = nn_ops.softmax_cross_entropy_with_logits(
                      labels=labels, logits=logits
                  )
                  self.assertAllEqual(result_a, result_b)
  
imports: import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.framework import config
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import test_util
  from tensorflow.python.kernel_tests.nn_ops import xent_op_test_base
  from tensorflow.python.ops import gen_nn_ops
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops.nn_grad import _SoftmaxCrossEntropyWithLogitsGrad
  from tensorflow.python.platform import test
label_desc: Use image node_id 3 for calling the XentOpDeterministicTest obj's underlying member method code with example usage: obj.testForward() without return types