code: def tf_keras_adult_explainer(request, models, adult_data):
      shape = (1, 57)
      cat_vars_ohe = adult_data["metadata"]["cat_vars_ohe"]
      cf_explainer = CounterfactualProto(
          models[0],
          shape,
          beta=0.01,
          cat_vars=cat_vars_ohe,
          ohe=True,
          use_kdtree=request.param[0],
          max_iterations=1000,
          c_init=request.param[1],
          c_steps=request.param[2],
          feature_range=(-1 * np.ones((1, 12)), np.ones((1, 12))),
      )
      yield models[0], cf_explainer
      tf.keras.backend.clear_session()
  
file_path: alibi/alibi/explainers/tests/test_cfproto.py
imports: import numpy
  import pytest
  import tensorflow
  from alibi.api.defaults import DEFAULT_META_CFP, DEFAULT_DATA_CFP
  from alibi.explainers import CounterfactualProto
  from alibi.utils.mapping import ohe_to_ord, ord_to_num
label_desc: Use image node_id 3 for calling a global function with example usage: tf_keras_adult_explainer(request, models, adult_data) without return types