code: def _check_embedding_and_slot_variables(
      self,
      embedding_table_user_before,
      gradients_wrt_user,
      embedding_table_video_before,
      gradients_wrt_video,
      optimizer,
      table_to_variable,
  ):
      if isinstance(optimizer, tpu_embedding_v2_utils.SGD):
          check_fn = self._check_embedding_and_slot_variables_for_sgd
      elif isinstance(optimizer, tpu_embedding_v2_utils.Adagrad):
          check_fn = (
              self._check_embedding_and_slot_variables_for_adagrad
          )
      elif isinstance(
          optimizer, tpu_embedding_v2_utils.AdagradMomentum
      ):
          check_fn = (
              self._check_embedding_and_slot_variables_for_adagrad_momentum
          )
      elif isinstance(optimizer, tpu_embedding_v2_utils.Adam):
          check_fn = self._check_embedding_and_slot_variables_for_adam
      elif isinstance(optimizer, tpu_embedding_v2_utils.FTRL):
          check_fn = self._check_embedding_and_slot_variables_for_ftrl
      else:
          raise ValueError(
              "optimizer is not recognized: ", type(optimizer)
          )
      check_fn(
          embedding_table_user_before,
          gradients_wrt_user,
          optimizer,
          table_to_variable[self.table_user.name],
      )
      check_fn(
          embedding_table_video_before,
          gradients_wrt_video,
          optimizer,
          table_to_variable[self.table_video.name],
      )
  
imports: import os
  from typing import Tuple
  from absl import flags
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.distribute import tpu_strategy
  from tensorflow.python.distribute.cluster_resolver import tpu_cluster_resolver
  from tensorflow.python.eager import remote
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gen_math_ops
  from tensorflow.python.ops import init_ops_v2
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.platform import test
  from tensorflow.python.tpu import tpu_embedding_v2
  from tensorflow.python.tpu import tpu_embedding_v2_utils
  from tensorflow.python.util import nest
label_desc: Use image node_id 15 for calling the TPUEmbeddingBaseTest obj's underlying member method code with example usage: obj._check_embedding_and_slot_variables(embedding_table_user_before, gradients_wrt_user, embedding_table_video_before, gradients_wrt_video, optimizer, table_to_variable) without return types