code: def testPruneRecursivelyReachesTargetSparsity(self):
      internal_model = keras.Sequential(
          [keras.layers.Dense(10, input_shape=(10,))]
      )
      model = keras.Sequential(
          [
              internal_model,
              layers.Flatten(),
              layers.Dense(1),
          ]
      )
      model.compile(
          loss="binary_crossentropy",
          optimizer="sgd",
          metrics=["accuracy"],
      )
      test_utils.assert_model_sparsity(self, 0.0, model)
      model.fit(
          np.random.randint(10, size=(32, 10)),
          np.random.randint(2, size=(32, 1)),
          callbacks=[pruning_callbacks.UpdatePruningStep()],
      )
  
      test_utils.assert_model_sparsity(self, 0.5, model)
  
      input_data = np.random.randint(10, size=(32, 10))
      self._check_strip_pruning_matches_original(model, 0.5, input_data)
  
imports: import tempfile
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_model_optimization.python.core.keras import test_utils
  from tensorflow_model_optimization.python.core.sparsity.keras import prune
  from tensorflow_model_optimization.python.core.sparsity.keras import prune_registry
  from tensorflow_model_optimization.python.core.sparsity.keras import pruning_callbacks
  from tensorflow_model_optimization.python.core.sparsity.keras import pruning_schedule
  from tensorflow_model_optimization.python.core.sparsity.keras import pruning_wrapper
  from tensorflow_model_optimization.python.core.sparsity.keras import test_utils
label_desc: Use image node_id 23 for calling the PruneIntegrationTest obj's underlying member method code with example usage: obj.testPruneRecursivelyReachesTargetSparsity() without return types