def METHOD_NAME(self, draw):
    in_shape = draw(
        st.lists(
            st.integers(
                min_value=1, max_value=32), min_size=1, max_size=4))
    input_type = draw(st.sampled_from(["float32", "int32", "int64"]))
    input_axis = draw(st.sampled_from([[0, 1], [2, 3]]))
    assume(len(input_axis) <= len(in_shape))
    if len(input_axis) > 0:
        for num in input_axis:
            num = num if num >= 0 else num + len(in_shape)
            assume(num < len(in_shape))
    # "nvidia_tensorrt" must satisfies theses 
    if self.get_nnadapter_device_name() == "nvidia_tensorrt":
        for i in range(len(input_axis)):
            in_shape[input_axis[i]] = 1
        input_type = "float32"
    def generate_input(*args, **kwargs):
        if input_type == "float32":
            return np.random.normal(1.0, 6.0, in_shape).astype(np.float32)
        elif input_type == "int32":
            return np.random.normal(1.0, 6.0, in_shape).astype(np.int32)
        elif input_type == "int64":
            return np.random.normal(1.0, 6.0, in_shape).astype(np.int64)
    ops_config = OpConfig(
        type="squeeze",
        inputs={"X": ["input_data"]},
        outputs={"Out": ["output_data"]},
        attrs={"axes": input_axis})
    ops_config.outputs_dtype = {"output_data": input_type}
    program_config = ProgramConfig(
        ops=[ops_config],
        weights={},
        inputs={
            "input_data": TensorConfig(data_gen=partial(generate_input))
        },
        outputs=["output_data"])
    return program_config