def METHOD_NAME(axis, io_type, backend):
    input_shape = (10, 3)
    in1 = Input(shape=input_shape)
    in2 = Input(shape=input_shape)
    out = Concatenate(axis=axis)([in1, in2])
    model = tf.keras.models.Model(inputs=[in1, in2], outputs=out)
    model.compile()
    config = hls4ml.utils.config_from_keras_model(model, default_precision='ap_fixed<32,16>')
    output_dir = str(test_root_path / f'hls4mlprj_concatenate2d_axis_{str(axis)}_{io_type}_{backend}')
    hls_model = hls4ml.converters.convert_from_keras_model(
        model, hls_config=config, output_dir=output_dir, io_type=io_type, backend=backend
    )
    hls_model.compile()
    X_input1 = np.random.rand(100, *input_shape)
    X_input2 = np.random.rand(100, *input_shape)
    keras_prediction = model.predict([X_input1, X_input2])
    hls_prediction = hls_model.predict([X_input1, X_input2]).reshape(keras_prediction.shape)
    np.testing.assert_allclose(hls_prediction, keras_prediction, rtol=0, atol=0.001)