Skip to content

Optimizer error on quantized model #2493

@justinchuby

Description

@justinchuby
Traceback (most recent call last):
  File "/home/justinchu/dev/ir-py/src/onnx_ir/passes/_pass_infra.py", line 237, in call
    pass_result = pass_(model)
  File "/home/justinchu/dev/ir-py/src/onnx_ir/passes/_pass_infra.py", line 126, in __call__
    result = self.call(model)
  File "/home/justinchu/dev/ir-py/src/onnx_ir/passes/common/constant_manipulation.py", line 170, in call
    model.graph.register_initializer(initializer)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/home/justinchu/dev/ir-py/src/onnx_ir/_core.py", line 2457, in register_initializer
    self._initializers.add(value)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/home/justinchu/dev/ir-py/src/onnx_ir/_graph_containers.py", line 290, in add
    self[value.name] = value  # type: ignore[index]
    ~~~~^^^^^^^^^^^^
  File "/home/justinchu/dev/ir-py/src/onnx_ir/_graph_containers.py", line 277, in __setitem__
    self._set_graph(value)
    ~~~~~~~~~~~~~~~^^^^^^^
  File "/home/justinchu/dev/ir-py/src/onnx_ir/_graph_containers.py", line 237, in _set_graph
    raise ValueError(
        f"Value '{value}' is already an initializer of a different graph. Please remove the value from the previous graph first"
    )
ValueError: Value '%"3613"<BOOL,[]>{TensorProtoTensor<BOOL,[]>(array(False), name='3613')}' is already an initializer of a different graph. Please remove the value from the previous graph first

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<python-input-7>", line 1, in <module>
    mm=onnxscript.optimizer.optimize(m)
  File "/home/justinchu/dev/onnxscript/onnxscript/optimizer/__init__.py", line 63, in optimize
    optimize_ir(
    ~~~~~~~~~~~^
        model,
        ^^^^^^
    ...<5 lines>...
        inline=inline,
        ^^^^^^^^^^^^^^
    )
    ^
  File "/home/justinchu/dev/onnxscript/onnxscript/optimizer/_optimizer.py", line 66, in optimize_ir
    result = optimizer_pass(model)
  File "/home/justinchu/dev/ir-py/src/onnx_ir/passes/_pass_infra.py", line 126, in __call__
    result = self.call(model)
  File "/home/justinchu/dev/ir-py/src/onnx_ir/passes/_pass_infra.py", line 240, in call
    raise PassError(
    ...<2 lines>...
    ) from e
onnx_ir.passes.PassError: An error occurred when running the '<onnx_ir.passes.common.constant_manipulation.LiftSubgraphInitializersToMainGraphPass object at 0x71844e0082f0>' pass after the following passes: ['<onnx_ir.passes.common.inliner.InlinePass object at 0x71844e0086e0>', '<onnx_ir.passes.PassManager object at 0x71844e008050>', '<onnx_ir.passes.common.unused_removal.RemoveUnusedNodesPass object at 0x71844e5eb390>', '<onnx_ir.passes.common.constant_manipulation.LiftConstantsToInitializersPass object at 0x71844e0081a0>']

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions