code: def _testTypes(self, x, alpha, delta, use_gpu=None):
      self.setUp()
      with self.session(use_gpu=use_gpu):
          var = variable_v1.VariableV1(x)
          self.evaluate(variables.global_variables_initializer())
          self.assertAllCloseAccordingToType(x, self.evaluate(var))
          apply_sgd = gen_training_ops.apply_gradient_descent(
              var, alpha, delta
          )
          out = self.evaluate(apply_sgd)
          self.assertShapeEqual(out, apply_sgd)
          self.assertAllCloseAccordingToType(x - alpha * delta, out)
  
imports: import itertools
  import threading
  import numpy
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.framework.test_util import TensorFlowTestCase
  from tensorflow.python.ops import gen_training_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variable_v1
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 2 for calling the TrainingOpsTest obj's underlying member method code with example usage: obj._testTypes(x, alpha, delta, use_gpu) without return types