Sometimes OpenVINO pipeline in OpenCV changes the type of the model's output tensor from int64 to int32.
OpenVINO supports int64 tensors, but it doesn't support int64 operations, so it converts all int64 internal tensors to int32. So the models with int64 inputs or outputs work fine, but with int32 real precision. However, when we use custom OpenCV layers in OpenVINO pipeline, the OpenVINO compiler changes the type of the model's output tensor from int64 to int32.
Steps to reproduce
Enable Test_ArgMax_Int.random test for OpenVINO backend
Issue submission checklist
[X] I report the issue, it's not a question
[X] I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
[X] I updated to the latest OpenCV version and the issue is still there
[X] There is reproducer code and related data files (videos, images, onnx, etc)
System Information
OpenCV 5.x Ubuntu 22.04 OpenVINO 2024.0.0
Detailed description
Sometimes OpenVINO pipeline in OpenCV changes the type of the model's output tensor from int64 to int32.
OpenVINO supports int64 tensors, but it doesn't support int64 operations, so it converts all int64 internal tensors to int32. So the models with int64 inputs or outputs work fine, but with int32 real precision. However, when we use custom OpenCV layers in OpenVINO pipeline, the OpenVINO compiler changes the type of the model's output tensor from int64 to int32.
Steps to reproduce
Enable Test_ArgMax_Int.random test for OpenVINO backend
Issue submission checklist