def add_value_info(self, value_info: ValueInfoProto, graph_idx: int, overwrite: bool = False):
        """Add a value info to the graph.

        :param value_info: ValueInfoProto of the value info.
        :param graph_idx: index of the graph in the model.
        :param overwrite: whether to overwrite the existing value info if it exists with the same name.
        """
        name = value_info.name
        if name not in self.ios:
            self.ios[name] = OnnxIO(proto=[value_info], graph_idx=graph_idx)
            return

        assert overwrite or not self.ios[name].proto, (
            f"Value info for {name} already exists in the graph but overwrite is False."
        )
        self.ios[name].proto = [value_info]
Add a value info to the graph.

        :param value_info: ValueInfoProto of the value info.
        :param graph_idx: index of the graph in the model.
        :param overwrite: whether to overwrite the existing value info if it exists with the same name.
        
olive/passes/onnx/onnx_dag.py