def squeeze_gen_function_call(func_attrs, indent="  "):
    """Generate the function invocation for squeeze/unsqueeze.

    Parameters
    ----------
    func_attrs : Dict[str, Any]
        The _attrs dict from the original op.
    ident : str
        Sequence to use to generate the indentations in the CUDA code
    """
    func_name = "ait_" + func_attrs["name"]
    input_names = [
        shape._attrs["name"] for shape in func_attrs["inputs"][0]._attrs["shape"]
    ]
    output_names = [
        shape._attrs["name"] for shape in func_attrs["outputs"][0]._attrs["shape"]
    ]

    return FUNC_CALL_TEMPLATE.render(
        func_name=func_name,
        input_names=input_names,
        output_names_except_last=output_names[:-1],
        last_output=output_names[-1],
        indent=indent,
    )
Generate the function invocation for squeeze/unsqueeze.

Parameters
----------
func_attrs : Dict[str, Any]
The _attrs dict from the original op.
ident : str
Sequence to use to generate the indentations in the CUDA code
python/aitemplate/backend/cuda/view_ops/view_ops.py