• Python Blob Converter Not Working?

I get this error:

============= Diagnostic Run torch.onnx.export version 2.0.1+cu117 =============

verbose: False, log level: Level.ERROR

======================= 0 NONE 0 NOTE 0 WARNING 0 ERROR ========================

Downloading diff_images_simplified_openvino_2021.4_4shave.blob...

{

"exit_code": 1,

"message": "Command failed with exit code 1, command: /app/venvs/venv2021_4/bin/python /app/model_compiler/openvino_2021.4/converter.py --precisions FP16 --output_dir /tmp/blobconverter/97301351a387414fb1c143917fe63893 --download_dir /tmp/blobconverter/97301351a387414fb1c143917fe63893 --name diff_images_simplified --model_root /tmp/blobconverter/97301351a387414fb1c143917fe63893",

"stderr": "[ ERROR ] Exception occurred during running replacer \"fusing\" (<class 'extensions.middle.fusings.Fusing'>): After partial shape inference were found shape collision for node /Sub/neg_ (old shape: [0 0 0 0], new shape: [-1 -1 -1 -1])\n",

"stdout": "========== Converting diff_images_simplified to IR (FP16)\nConversion command: /app/venvs/venv2021_4/bin/python -m mo --framework=onnx --data_type=FP16 --output_dir=/tmp/blobconverter/97301351a387414fb1c143917fe63893/diff_images_simplified/FP16 --model_name=diff_images_simplified --data_type=FP16 --input_model=/tmp/blobconverter/97301351a387414fb1c143917fe63893/diff_images_simplified/FP16/diff_images_simplified.onnx\n\nModel Optimizer arguments:\nCommon parameters:\n\t- Path to the Input Model: \t/tmp/blobconverter/97301351a387414fb1c143917fe63893/diff_images_simplified/FP16/diff_images_simplified.onnx\n\t- Path for generated IR: \t/tmp/blobconverter/97301351a387414fb1c143917fe63893/diff_images_simplified/FP16\n\t- IR output name: \tdiff_images_simplified\n\t- Log level: \tERROR\n\t- Batch: \tNot specified, inherited from the model\n\t- Input layers: \tNot specified, inherited from the model\n\t- Output layers: \tNot specified, inherited from the model\n\t- Input shapes: \tNot specified, inherited from the model\n\t- Mean values: \tNot specified\n\t- Scale values: \tNot specified\n\t- Scale factor: \tNot specified\n\t- Precision of IR: \tFP16\n\t- Enable fusing: \tTrue\n\t- Enable grouped convolutions fusing: \tTrue\n\t- Move mean values to preprocess section: \tNone\n\t- Reverse input channels: \tFalse\nONNX specific parameters:\n[ WARNING ] Failed to import Inference Engine Python API in: PYTHONPATH\n[ WARNING ] libpython3.6m.so.1.0: cannot open shared object file: No such file or directory\n[ WARNING ] Failed to import Inference Engine Python API in: /opt/intel/openvino2021_4/python/python3.8\n[ WARNING ] libpython3.6m.so.1.0: cannot open shared object file: No such file or directory\n[ WARNING ] Could not find the Inference Engine Python API. At this moment, the Inference Engine dependency is not required, but will be required in future releases.\n[ WARNING ] Consider building the Inference Engine Python API from sources or try to install OpenVINO (TM) Toolkit using \"install_prerequisites.sh\"\nModel Optimizer version: \t2021.4.2-3974-e2a469a3450-releases/2021/4\nFAILED:\ndiff_images_simplified\n"

}

Traceback (most recent call last):

File "diff_images_model_creation.py", line 42, in <module>

blobconverter.from_onnx(

File "/home/adam/.local/lib/python3.8/site-packages/blobconverter/__init__.py", line 428, in from_onnx

return compile_blob(blob_name=Path(model_name).stem, req_data={"name": Path(model_name).stem}, req_files=files, data_type=data_type, **kwargs)

File "/home/adam/.local/lib/python3.8/site-packages/blobconverter/__init__.py", line 322, in compile_blob

response.raise_for_status()

File "/home/adam/.local/lib/python3.8/site-packages/requests/models.py", line 953, in raise_for_status

raise HTTPError(http_error_msg, response=self)

requests.exceptions.HTTPError: 400 Client Error: BAD REQUEST for url: https://blobconverter.luxonis.com/compile?version=2021.4&no_cache=True

I am the same type of process that I found here: https://github.com/luxonis/depthai-experiments/tree/master/gen2-custom-models/generate_model

My code:

  • AdamPolak ,
    Correct, both of these 2 issues are there. It's not a blobconverter issue, but an issue underneath (openvino). For abs you can use sqrt(matrix^2). And you just need to specify the size upfront.
    We are aware newer versions of openvino are unsupported, that's why the newest openvino version for depthai/oak is 2022.1.

Seems like the online tool is not working either?

onnx file I am using here:

It seems like there were 2 issues:

1. cannot create dynamic input sizes?

  1. Cannot use Abs() as a function?

AdamPolak ,
Correct, both of these 2 issues are there. It's not a blobconverter issue, but an issue underneath (openvino). For abs you can use sqrt(matrix^2). And you just need to specify the size upfront.
We are aware newer versions of openvino are unsupported, that's why the newest openvino version for depthai/oak is 2022.1.