code: def test_btnn(make_btnn, randX_100_10, backend, io_type):
      model, is_xnor, test_no = make_btnn
      X = randX_100_10
      cfg = hls4ml.utils.config_from_keras_model(
          model, granularity="name", backend=backend
      )
      output_dir = str(
          test_root_path
          / f"hls4mlprj_btnn_{test_no}_{backend}_{io_type}"
      )
      hls_model = hls4ml.converters.convert_from_keras_model(
          model,
          output_dir=output_dir,
          hls_config=cfg,
          backend=backend,
          io_type=io_type,
      )
      hls_model.compile()
      y_hls = hls_model.predict(X)
      # hls4ml may return XNOR binary
      if is_xnor:
          y_hls = np.where(y_hls == 0, -1, 1)
      y_ker = model.predict(X)
      wrong = (y_hls != y_ker).ravel()
      assert sum(wrong) / len(wrong) < 0.005
  
imports: import warnings
  from pathlib import Path
  import numpy
  import pytest
  from qkeras.qconv2d_batchnorm import QConv2DBatchnorm
  from qkeras.qconvolutional import QDepthwiseConv2D, QSeparableConv1D, QSeparableConv2D
  from qkeras.qlayers import QActivation, QDense
  from qkeras.quantizers import binary, quantized_bits, quantized_po2, quantized_relu, quantized_sigmoid, quantized_tanh, ternary
  from qkeras.utils import _add_supported_quantized_objects
  from sklearn.datasets import fetch_openml
  from sklearn.model_selection import train_test_split
  from sklearn.preprocessing import LabelEncoder, StandardScaler
  from tensorflow.keras.layers import BatchNormalization, Input
  from tensorflow.keras.models import Model, Sequential, model_from_json
  from tensorflow.keras.utils import to_categorical
  import hls4ml
label_desc: Use image node_id 11 for calling a global function with example usage: test_btnn(make_btnn, randX_100_10, backend, io_type) without return types