openvinotoolkit/openvino

[Bug] Const data got different desc and content byte sizes (24 and 96 respectively)" error when converting ConvolutionBackpropData using compile_tools

PINTO0309 opened this issue · 3 comments

System information (version)
  • OpenVINO=> 2022.1 (self build. commit hash: e89db1c)
  • Operating System / Platform => Ubuntu20.04 (openvinotoolkit/docker_ci)
  • Compiler => gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
  • Problem classification => Model Conversion
Detailed description

"Const data got different desc and content byte sizes (24 and 96 respectively)" error when converting ConvolutionBackpropData using compile_tools. compile_tools was compiled using source code cloned from the master branch of openvino as of January 6, 2022. (commit hash: e89db1c)

The IR and ONNX models that I am trying to convert using the compile_tool can be found at the following URL.
onnx_and_openvinoir.zip

This model is a lightweight model that is very suitable for edge devices to perform depth estimation with stereo cameras.
132152654-fd689269-537f-4ab1-87fc-b08169311cc7

The input geometry of the OpenVINO IR model is static float32[1,6,120,160] and in NCHW format.
Screenshot 2022-01-06 11:55:09

The error message is as follows. I have not been able to trace the inner workings of the compile_tool logic, but it seems that the shape prediction fails when converting the ConvolutionBackpropData.

/opt/intel/openvino/tools/compile_tool/compile_tool \
-m openvino/FP32/model_float32_opt.xml \
-ip U8 \
-d MYRIAD \
-VPU_NUMBER_OF_SHAVES 4 \
-VPU_NUMBER_OF_CMX_SLICES 4 \
-o openvino/myriad/model_float32_opt.blob

/opt/intel/repo/openvino/inference-engine/src/vpu/graph_transformer/src/model/model.cpp:198 duplicateData error: while duplicating level0/shared/prop0/WarpImageWithHypotheses/get_warp1d_coordinates_from_tile_hypotheses/get_warp_disparity@weights Const data got different desc and content byte sizes (24 and 96 respectively)

Screenshot 2022-01-06 11:47:16

Steps to reproduce
  • docker build (master branch of openvino)
git clone https://github.com/openvinotoolkit/docker_ci.git && cd docker_ci
cd dockerfiles/ubuntu20/build_custom

docker build -t pinto0309/openvino:2022.1.20220106 .
  • docker pull
docker pull pinto0309/openvino:2022.1.20220106
  • Run the reproduction script
docker run --rm -it -v `pwd`:/workdir pinto0309/openvino:2022.1.20220106

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/openvino/runtime/lib/intel64
sudo ldconfig

/opt/intel/openvino/tools/compile_tool/compile_tool \
-m openvino/FP32/model_float32_opt.xml \
-ip U8 \
-d MYRIAD \
-VPU_NUMBER_OF_SHAVES 4 \
-VPU_NUMBER_OF_CMX_SLICES 4 \
-o openvino/myriad/model_float32_opt.blob

OpenVINO Runtime version ......... 2022.1.0
Build ........... custom_master_e89db1c6de8eb551949330114d476a2a4be499ed
[ INFO ] model name: model_float32_opt
[ INFO ]     inputs
[ INFO ]         input name: input
[ INFO ]         input type: u8
[ INFO ]         input shape: {1, 6, 120, 160}
[ INFO ]     outputs
[ INFO ]         output name: reference_output_disparity
[ INFO ]         output type: f32
[ INFO ]         output shape: {1, 120, 160, 1}
[ INFO ]     outputs
[ INFO ]         output name: secondary_output_disparity
[ INFO ]         output type: f32
[ INFO ]         output shape: {1, 120, 160, 1}

/opt/intel/repo/openvino/inference-engine/src/vpu/common/include/vpu/utils/error.hpp:39 [ GENERAL_ERROR ] 
/opt/intel/repo/openvino/inference-engine/src/vpu/graph_transformer/src/frontend/frontend.cpp:448 Failed to compile layer "level0/shared/prop0/WarpImageWithHypotheses/get_warp1d_coordinates_from_tile_hypotheses/get_warp_disparity": 
/opt/intel/repo/openvino/inference-engine/src/vpu/common/include/vpu/utils/error.hpp:39 [ GENERAL_ERROR ] 
/opt/intel/repo/openvino/inference-engine/src/vpu/graph_transformer/src/model/model.cpp:198 duplicateData error: while duplicating level0/shared/prop0/WarpImageWithHypotheses/get_warp1d_coordinates_from_tile_hypotheses/get_warp_disparity@weights Const data got different desc and content byte sizes (24 and 96 respectively)
Issue submission checklist
  • I report the issue, it's not a question
  • I checked the problem with documentation, FAQ, open issues, Stack Overflow, etc and have not found solution
  • There is reproducer code and related data files: images, videos, models, etc.

Hi @PINTO0309

Thanks for reporting, I was able to reproduce the error using your model and the compile_tool as well as the benchmark_app on the latest master branch. I am able to generate the blob by cutting the model just before the ConvTranspose Layer in your model. So there maybe an issue with this layer and MYRIAD. Let me reach out to the development team and get back to you.

Regards,
Jesus

Ref. 75208

@PINTO0309 apologies for the delay in our response. The issue here is that ConvTranspose layer is not supported by the Myriad plugin.

The following PR #13995 has been created to update the documentation and reflect this information. There are no plans at the moment to add support to such operation.

OK. Thanks.