code: def test_tensor_learning_rate_and_conditional_gradient_frobenius(
      dtype,
  ):
      var0 = tf.Variable([1.0, 2.0], dtype=dtype)
      var1 = tf.Variable([3.0, 4.0], dtype=dtype)
      grads0 = tf.constant([0.1, 0.1], dtype=dtype)
      grads1 = tf.constant([0.01, 0.01], dtype=dtype)
      norm0 = tf.math.reduce_sum(grads0**2) ** 0.5
      norm1 = tf.math.reduce_sum(grads1**2) ** 0.5
      ord = "fro"
      cg_opt = cg_lib.ConditionalGradient(
          learning_rate=tf.constant(0.5),
          lambda_=tf.constant(0.01),
          ord=ord,
      )
      _ = cg_opt.apply_gradients(zip([grads0, grads1], [var0, var1]))
  
      # Check we have slots
      assert ["conditional_gradient"] == cg_opt.get_slot_names()
      slot0 = cg_opt.get_slot(var0, "conditional_gradient")
      assert slot0.get_shape() == var0.get_shape()
      slot1 = cg_opt.get_slot(var1, "conditional_gradient")
      assert slot1.get_shape() == var1.get_shape()
  
      # Check that the parameters have been updated.
      test_utils.assert_allclose_according_to_type(
          np.array(
              [
                  1.0 * 0.5 - (1 - 0.5) * 0.01 * 0.1 / norm0,
                  2.0 * 0.5 - (1 - 0.5) * 0.01 * 0.1 / norm0,
              ]
          ),
          var0.numpy(),
      )
      test_utils.assert_allclose_according_to_type(
          np.array(
              [
                  3.0 * 0.5 - (1 - 0.5) * 0.01 * 0.01 / norm1,
                  4.0 * 0.5 - (1 - 0.5) * 0.01 * 0.01 / norm1,
              ]
          ),
          var1.numpy(),
      )
      # Step 2: the conditional_gradient contain the
      # previous update.
      cg_opt.apply_gradients(zip([grads0, grads1], [var0, var1]))
      # Check that the parameters have been updated.
      test_utils.assert_allclose_according_to_type(
          np.array(
              [
                  (1.0 * 0.5 - (1 - 0.5) * 0.01 * 0.1 / norm0) * 0.5
                  - (1 - 0.5) * 0.01 * 0.1 / norm0,
                  (2.0 * 0.5 - (1 - 0.5) * 0.01 * 0.1 / norm0) * 0.5
                  - (1 - 0.5) * 0.01 * 0.1 / norm0,
              ]
          ),
          var0.numpy(),
      )
      test_utils.assert_allclose_according_to_type(
          np.array(
              [
                  (3.0 * 0.5 - (1 - 0.5) * 0.01 * 0.01 / norm1) * 0.5
                  - (1 - 0.5) * 0.01 * 0.01 / norm1,
                  (4.0 * 0.5 - (1 - 0.5) * 0.01 * 0.01 / norm1) * 0.5
                  - (1 - 0.5) * 0.01 * 0.01 / norm1,
              ]
          ),
          var1.numpy(),
      )
  
imports: import numpy
  import pytest
  import platform
  import tensorflow
  from tensorflow_addons.utils import test_utils
  from tensorflow_addons.optimizers import conditional_gradient
label_desc: Use image node_id 13 for calling a global function with example usage: test_tensor_learning_rate_and_conditional_gradient_frobenius(dtype) without return types