class_docstr: Common tests for Sonnet optimizers.
code: def testEmptyParams(self):
      optimizer = self.make_optimizer()
      if is_tf_optimizer(optimizer):
          self.skipTest("TF optimizers don't error on empty params.")
  
      with self.assertRaisesRegex(
          ValueError, "`parameters` cannot be empty."
      ):
          optimizer.apply([], [])
  
imports: import itertools
  from absl.testing import parameterized
  import numpy
  from sonnet.src import base
  from sonnet.src import test_utils
  import tensorflow
  import tree
label_desc: Use image node_id 4 for calling the OptimizerTestBase obj's underlying member method code with example usage: obj.testEmptyParams() without return types