code: def test_end_to_end_workflow(tmp_path):
      (x, y), (val_x, val_y) = get_data()
      x = x.astype("float32") / 255.0
      val_x = val_x.astype("float32") / 255.0
  
      tuner = keras_tuner.tuners.RandomSearch(
          build_model,
          objective="val_accuracy",
          max_trials=20,
          directory=tmp_path,
      )
  
      tuner.search_space_summary()
  
      tuner.search(
          x=x,
          y=y,
          epochs=10,
          batch_size=128,
          callbacks=[keras.callbacks.EarlyStopping(patience=2)],
          validation_data=(val_x, val_y),
      )
  
      tuner.results_summary()
  
      best_model = tuner.get_best_models(1)[0]
  
      val_loss, val_acc = best_model.evaluate(val_x, val_y)
      assert val_acc > 0.955
  
imports: import numpy
  import keras_tuner
  from keras_tuner.backend import keras
label_desc: Use image node_id 3 for calling a global function with example usage: test_end_to_end_workflow(tmp_path) without return types