code: def testEquivSparseGradientDescentwithoutRegularization(self):
      # The v1 optimizers do not support eager execution
      with ops.Graph().as_default():
          for dtype in [dtypes.half, dtypes.float32]:
              with self.cached_session():
                  val0, val1 = self.applyOptimizer(
                      ftrl.FtrlOptimizer(
                          3.0,
                          # Fixed learning rate
                          learning_rate_power=-0.0,
                          initial_accumulator_value=0.1,
                          l1_regularization_strength=0.0,
                          l2_regularization_strength=0.0,
                      ),
                      dtype,
                      is_sparse=True,
                  )
  
              with self.cached_session():
                  val2, val3 = self.applyOptimizer(
                      gradient_descent.GradientDescentOptimizer(3.0),
                      dtype,
                      is_sparse=True,
                  )
  
              self.assertAllCloseAccordingToType(val0, val2)
              self.assertAllCloseAccordingToType(val1, val3)
  
imports: import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import indexed_slices
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import embedding_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
  from tensorflow.python.training import adagrad
  from tensorflow.python.training import ftrl
  from tensorflow.python.training import gradient_descent
label_desc: Use image node_id 16 for calling the FtrlOptimizerTest obj's underlying member method code with example usage: obj.testEquivSparseGradientDescentwithoutRegularization() without return types