code: def test_multi_cat_keras_bayes(
      build_fn, hh_assets, env_breast_cancer
  ):
      opt_0 = do_optimization(BayesianOptPro, build_fn)
      opt_1 = do_optimization(BayesianOptPro, build_fn)
      # Note that above does not use `ready_only=True` like :func:`test_multi_cat_keras_non_bayes`.
      # Let it run through the whole optimization process to make sure there aren't any other
      #   problems further along as a result of Experiment-matching
      assert len(opt_1.similar_experiments) == 2
  
file_path: hyperparameter_hunter/tests/integration_tests/test_optimization_space.py
imports: from hyperparameter_hunter import __version__, Environment, Real, Integer, Categorical
  from hyperparameter_hunter import BayesianOptPro, GBRT, RF, ET, DummyOptPro
  from hyperparameter_hunter.utils.learning_utils import get_breast_cancer_data
  from hyperparameter_hunter.utils.version_utils import HHVersion
  from os import makedirs
  import pytest
  from shutil import rmtree
  from keras.layers import Dense, Dropout
  from keras.models import Sequential
  from keras.wrappers.scikit_learn import KerasClassifier
label_desc: Use image node_id 9 for calling a global function with example usage: test_multi_cat_keras_bayes(build_fn, hh_assets, env_breast_cancer) without return types