code: def test_qseparableconv1d(backend, io_type):
      """
      Test proper handling of QSeparableConv1D.
      """
      x_in = Input((13, 20), name="input_layer")
      x = QSeparableConv1D(
          5,
          3,
          depthwise_quantizer=quantized_bits(8, 3, alpha=1),
          pointwise_quantizer=quantized_bits(8, 3, alpha=1),
          bias_quantizer=quantized_bits(8, 3, alpha=1),
          name="qsepconv_1",
      )(x_in)
      model = Model(inputs=x_in, outputs=x)
  
      config = hls4ml.utils.config_from_keras_model(
          model,
          granularity="name",
          backend=backend,
          default_precision="fixed<23,7>",
      )
  
      # Use 8 bits for input
      config["LayerName"]["input_layer"]["Precision"][
          "result"
      ] = "fixed<8,1>"
      # default_precision is will be used for accum_t and result_t of the conv layer, so we don't need to set them here
      # We need <15,4> for the result of depthwise step
      config["LayerName"]["qsepconv_1"]["Precision"][
          "dw_output"
      ] = "fixed<15,4>"
  
      output_dir = str(
          test_root_path / f"hls4mlprj_qsepconv1d_{backend}_{io_type}"
      )
      hls_model = hls4ml.converters.convert_from_keras_model(
          model,
          hls_config=config,
          output_dir=output_dir,
          io_type=io_type,
      )
      hls_model.compile()
  
      data = np.random.rand(100, 13, 20)
      input_quantizer = quantized_bits(8, 0, alpha=1)
      dataq = input_quantizer(data).numpy()
  
      y_qkeras = model.predict(dataq)
      y_hls4ml = hls_model.predict(dataq)
  
      np.testing.assert_allclose(
          y_qkeras, y_hls4ml.reshape(y_qkeras.shape), rtol=0, atol=0
      )
  
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 20 for calling a global function with example usage: test_qseparableconv1d(backend, io_type) without return types