code: def test_xe(self):
      loss = CrossEntropy(self.model, smoothing=0.0)
      l = loss.fprop(self.x, self.y)
      with tf.Session() as sess:
          vl1 = sess.run(
              l, feed_dict={self.x: self.vx, self.y: self.vy}
          )
          vl2 = sess.run(
              l, feed_dict={self.x: self.vx, self.y: self.vy}
          )
      self.assertClose(
          vl1, sum([2.210599660, 1.53666997]) / 2.0, atol=1e-6
      )
      self.assertClose(
          vl2, sum([2.210599660, 1.53666997]) / 2.0, atol=1e-6
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  import unittest
  import numpy
  import tensorflow
  from cleverhans.attacks import FastGradientMethod
  from cleverhans.loss import CrossEntropy, MixUp, FeaturePairing
  from cleverhans.devtools.checks import CleverHansTest
  from cleverhans.model import Model
label_desc: Use image node_id 2 for calling the TestDefenses obj's underlying member method code with example usage: obj.test_xe() without return types