Intel® Distribution of OpenVINO™ Toolkit
Community support and discussions about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all things computer vision-related on Intel® platforms.
5960 Discussions

Cannot infer shapes or values for node "Where_837" when converting from PyTorch to OpenVINO IR Model

Vishnu_T
Novice
1,456 Views

Pytorch to openvino model optimizer intermediate representation conversion.

Successfully convert pytorch model file (.pt) to ONNX file(.onnx).
I am facing the following error while converting ONNX file (.onnx) to openvino model optimizer intermediate representation(.xml,.bin).

Error :

[ ERROR ] Cannot infer shapes or values for node "Where_837".
[ ERROR ] There is no registered "infer" function for node "Where_837" with op = "Where". Please implement this function in the extensions.

Command : 

python mo_onnx.py --input_model yolov5s.onnx --input_shape [1,3,480,640] --data_type FP32

 

0 Kudos
1 Solution
JesusE_Intel
Moderator
1,310 Views

Hi Vishnu,


The error in the log is related to the Where layer. Could you try upgrading to the latest release 2020.4? The Where layer is now listed as supported for MXNet, TensorFlow and ONNX frameworks. If you continue to see an error converting, please attach the log files and your model.


https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_Supported_Frameworks_Layer...


Regards,

Jesus


View solution in original post

8 Replies
IntelSupport
Community Manager
1,439 Views

Hi Vishnu_T,


The error you are seeing is due to the Where layer not being supported in OpenVINO. Please take a look at the ONNX supported layers list. Could you try replacing that layer with one that is on the supported list?


https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_Supported_Frameworks_Layers.html#o...


Regards,

Jesus



Vishnu_T
Novice
1,376 Views

Thanks for your reply.

I couldn't find the supporting layer similar to Where layer ONNX Framework.

In MxNet framework Where layers is available equivalent Intermediate Representation is Select layer. 

The below link contains the framework layers and equivalent IR representation.

https://docs.openvinotoolkit.org/2019_R3.1/_docs_MO_DG_prepare_model_Supported_Frameworks_Layers.htm...

My ONNX file I replace the Select layer instead of Where layer. But I am getting Framework error after modification.  

Please suggest how to find the supporting layer for Where layer.

IntelSupport
Community Manager
1,356 Views

Hi Vishnu_T,


The model optimizer is not able to read the model, the model is either corrupted or may have not been converted from pytorch to onnx successfully. Please check the model and try running the model optimize with the --log_level=DEBUG flag and provide the output.


Regards,

Jesus


Vishnu_T
Novice
1,326 Views

Hi Jesus,

   Sorry for late reply.

  Converting model from pytorch to ONNX is successful.

  I enabled the log_level in debug mode as per your suggestion.

   I have attached the log file for your perusal.

Thanks

Vishnu T

JesusE_Intel
Moderator
1,311 Views

Hi Vishnu,


The error in the log is related to the Where layer. Could you try upgrading to the latest release 2020.4? The Where layer is now listed as supported for MXNet, TensorFlow and ONNX frameworks. If you continue to see an error converting, please attach the log files and your model.


https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_Supported_Frameworks_Layer...


Regards,

Jesus


Vishnu_T
Novice
1,303 Views

Hi Jesus,

   Thanks for your continuous support.

   I will check with latest version and let me know the status.

Thanks

Vishnu T

Vishnu_T
Novice
1,230 Views

New version of openvino (2020.4) solves the issue.

Thanks quick response and updated version to solve this issue.

JesusE_Intel
Moderator
1,260 Views

Intel will no longer monitor this thread since we have provided a solution. If you need any additional information from Intel, please submit a new question.


Reply