code: def test_exponential_cyclical_learning_rate(serialize):
      initial_learning_rate = 0.1
      maximal_learning_rate = 1
      step_size = 2000
      gamma = 0.996
  
      step = 0
      exponential_cyclical_lr = (
          cyclical_learning_rate.ExponentialCyclicalLearningRate(
              initial_learning_rate=initial_learning_rate,
              maximal_learning_rate=maximal_learning_rate,
              step_size=step_size,
              gamma=gamma,
          )
      )
      exponential_cyclical_lr = _maybe_serialized(
          exponential_cyclical_lr, serialize
      )
  
      for i in range(0, 8001):
          non_bounded_value = np.abs(
              i / 2000.0 - 2 * np.floor(1 + i / (2 * 2000)) + 1
          )
          expected = initial_learning_rate + (
              maximal_learning_rate - initial_learning_rate
          ) * np.maximum(0, (1 - non_bounded_value)) * (gamma**i)
          computed = exponential_cyclical_lr(step).numpy()
          np.testing.assert_allclose(computed, expected, 1e-6)
          step += 1
  
file_path: addons/tensorflow_addons/optimizers/tests/cyclical_learning_rate_test.py
imports: import pytest
  import numpy
  from tensorflow_addons.optimizers import cyclical_learning_rate
label_desc: Use image node_id 4 for calling a global function with example usage: test_exponential_cyclical_learning_rate(serialize) without return types