def METHOD_NAME(self, model: ModelProto) -> ModelProto:
    graph = ONNXGraph(model)
    matches = get_structural_matches(
        graph,
        parent_ops=[
            ["QuantizeLinear", "DequantizeLinear"],
            ["QuantizeLinear", "DequantizeLinear"],
        ],
        op_type="MatMul",
        children_ops=[
            [
                optional_node("Transpose"),
                optional_node("Reshape"),
                "QuantizeLinear",
                "DequantizeLinear",
            ]
        ],
    )
    for match in matches:
        for quantize_linear_parent in [match.parents[0][0], match.parents[1][0]]:
            if graph.get_init_by_name(quantize_linear_parent.input[0]):
                continue
        self.log_match(match)
        self._do_transform(model, match)
    return model