LoSealL / openvino2onnx

Convert OpenVINO IR (XML) to ONNX format
MIT License
5 stars 0 forks source link

"No Op registered" error - IR Version Issue? #18

Open avatarrokuaskingquestions opened 1 month ago

avatarrokuaskingquestions commented 1 month ago

Firstly thanks for making this tool! I was trying to use it on the palm model here and Python 3.10.11, I get the following error:

openvino2onnx --model-bin palm_detection_FP32.bin --fp32 palm_detection_FP32.xml
[E] Failed to build graph to onnx model v10 opset=17
Traceback (most recent call last):
  File "C:\Users\roku\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\roku\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\roku\AppData\Local\Programs\Python\Python310\Scripts\openvino2onnx.exe\__main__.py", line 7, in <module>
  File "C:\Users\roku\AppData\Local\Programs\Python\Python310\lib\site-packages\openvino2onnx\cli\main_cli.py", line 52, in main
    model = transform(model_url, args.model_bin, args.fp32, args.opset_version)
  File "C:\Users\roku\AppData\Local\Programs\Python\Python310\lib\site-packages\openvino2onnx\__init__.py", line 50, in transform
    model = build(graph, version=opset_version)
  File "C:\Users\roku\AppData\Local\Programs\Python\Python310\lib\site-packages\openvino2onnx\builder.py", line 167, in build
    onnx.checker.check_model(model)
  File "C:\Users\roku\AppData\Local\Programs\Python\Python310\lib\site-packages\onnx\checker.py", line 179, in check_model
    C.check_model(
onnx.onnx_cpp2py_export.checker.ValidationError: No Op registered for Negative with domain_version of 17

==> Context: Bad node spec for node. Name: conv2d_prelu/Neg_1/mul_/Negate OpType: Negative

Tried the other opsets and got the same error. Since the model is 'version=10' I tried installing openvino==2022.3.0 but that didn't change anything. If it was an IR Version issue would I need to do anything else on my end? Or do you think it's something else?

LoSealL commented 1 month ago

This repo doesn't cover all openvino opsets, and the op Negative is missing a converting rule here, if possible, you could add a rule for Negative, thanks!