class_docstr: Keras custom layer.
  
  Custom layer derived from ClusterableLayer provides implementation
  of the clustering algorithm.
class_docstr_tok: ["Keras","custom","layer",".","Custom","layer","derived","from","ClusterableLayer","provides","implementation","of","the","clustering","algorithm","."]
docstr: Verify get_clustering_impl() raises  error.
  
  Verify raises error when invoked with a keras custom layer derived from
  ClusterableLayer, but the function get_clustering_algorithm is not provided.
docstr_tok: ["Verify","get_clustering_impl","(",")","raises","error",".","Verify","raises","error","when","invoked","with","a","keras","custom","layer","derived","from","ClusterableLayer",",","but","the","function","get_clustering_algorithm","is","not","provided","."]
code: def testKerasCustomLayerClusterableInvalid(self):
      """Verify get_clustering_impl() raises  error.
  
      Verify raises error when invoked with a keras custom layer derived from
      ClusterableLayer, but the function get_clustering_algorithm is not provided.
      """
      with self.assertRaises(ValueError):
          ClusteringLookupRegistry.get_clustering_impl(
              KerasCustomLayerClusterableInvalid(), "w"
          )
  
imports: from absl.testing import parameterized
  import tensorflow
  from tensorflow_model_optimization.python.core.clustering.keras import clusterable_layer
  from tensorflow_model_optimization.python.core.clustering.keras import clustering_registry
  from tensorflow_model_optimization.python.core.clustering.keras.cluster_config import GradientAggregation
label_desc: Use image node_id 4 for calling the KerasCustomLayerClusterableInvalid obj's underlying member method code with example usage: obj.testKerasCustomLayerClusterableInvalid() without return types