code: def test_cpu_no_optimizer(self):
      feature_config = (
          tpu_embedding_v2_utils.FeatureConfig(
              table=self.table_video,
              name="watched",
              max_sequence_length=2,
          ),
      )
      mid_level = tpu_embedding_for_serving.TPUEmbeddingForServing(
          feature_config=feature_config, optimizer=None
      )
      # Build the layer manually to create the variables. Normally calling enqueue
      # would do this.
      mid_level.build()
      self.assertEqual(
          list(mid_level._variables[self.table_video.name].keys()),
          ["parameters"],
      )
  
imports: import numpy
  from tensorflow.python.compat import v2_compat
  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 init_ops_v2
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.platform import test
  from tensorflow.python.tpu import tpu_embedding_for_serving
  from tensorflow.python.tpu import tpu_embedding_v2_utils
  from tensorflow.python.util import nest
label_desc: Use image node_id 20 for calling the TPUEmbeddingForServingTest obj's underlying member method code with example usage: obj.test_cpu_no_optimizer() without return types