-
-
Notifications
You must be signed in to change notification settings - Fork 56.5k
OpenCV(4.9.0-dev) Error: Unspecified error (> Node [LayerNormalization@ai.onnx]:(onnx_node!/neck/neck.1/Add_1) #24797
Copy link
Copy link
Closed
Labels
Description
System Information
General configuration for OpenCV 4.9.0-dev =====================================
Version control: 4.8.0-606-g2e3ccb4e8e
Extra modules:
Location (extra): C:/lib/opencv_contrib/modules
Version control (extra): 4.8.1-55-gc7602a8f-dirty
Platform:
Timestamp: 2023-12-28T16:50:21Z
Host: Windows 10.0.22621 AMD64
CMake: 3.26.1
CMake generator: Visual Studio 17 2022
CMake build tool: C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe
MSVC: 1935
Configuration: Debug Release
CPU/HW features:
Baseline: SSE SSE2 SSE3
requested: SSE3
Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
SSE4_1 (18 files): + SSSE3 SSE4_1
SSE4_2 (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2
FP16 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
AVX (9 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
AVX2 (38 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
AVX512_SKX (8 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX
C/C++:
Built as dynamic libs?: YES
C++ standard: 11
C++ Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe (ver 19.35.32215.0)
C++ flags (Release): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP /O2 /Ob2 /DNDEBUG
C++ flags (Debug): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP /Zi /Ob0 /Od /RTC1
C Compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe
C flags (Release): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /O2 /Ob2 /DNDEBUG
C flags (Debug): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP /Zi /Ob0 /Od /RTC1
Linker flags (Release): /machine:x64 /INCREMENTAL:NO
Linker flags (Debug): /machine:x64 /debug /INCREMENTAL
ccache: NO
Precompiled headers: YES
Extra dependencies: cudart_static.lib nppc.lib nppial.lib nppicc.lib nppidei.lib nppif.lib nppig.lib nppim.lib nppist.lib nppisu.lib nppitc.lib npps.lib cublas.lib cudnn.lib cufft.lib -LIBPATH:C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1/lib/x64
3rdparty dependencies:
OpenCV modules:
To be built: alphamat aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev datasets dnn dnn_objdetect dnn_superres dpm face features2d flann fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform java line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot python3 quality rapid reg rgbd saliency sfm shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab viz wechat_qrcode xfeatures2d ximgproc xobjdetect xphoto
Disabled: world
Disabled by dependency: -
Unavailable: cannops cvv freetype hdf julia matlab ovis python2
Applications: tests perf_tests examples apps
Documentation: doxygen python javadoc
Non-free algorithms: YES
Windows RT support: NO
GUI: WIN32UI
Win32 UI: YES
OpenGL support: YES (opengl32 glu32)
VTK support: YES (ver 9.2.5)
Media I/O:
ZLib: optimized C:/install/zlib/lib/zlib.lib debug C:/install/zlib/lib/zlibd.lib (ver 1.2.13)
JPEG: build-libjpeg-turbo (ver 2.1.3-62)
SIMD Support Request: YES
SIMD Support: NO
WEBP: build (ver encoder: 0x020f)
PNG: optimized C:/install/libpng/lib/libpng16.lib debug C:/install/libpng/lib/libpng16d.lib (ver 1.6.40.git)
TIFF: build (ver 42 - 4.2.0)
JPEG 2000: build (ver 2.5.0)
OpenEXR: build (ver 2.3.0)
HDR: YES
SUNRASTER: YES
PXM: YES
PFM: YES
Video I/O:
DC1394: NO
FFMPEG: YES (prebuilt binaries)
avcodec: YES (58.134.100)
avformat: YES (58.76.100)
avutil: YES (56.70.100)
swscale: YES (5.9.100)
avresample: YES (4.0.0)
GStreamer: NO
DirectShow: YES
Media Foundation: YES
DXVA: YES
Parallel framework: TBB (ver 2020.3 interface 11103)
Other third-party libraries:
Intel IPP: 2021.11.0 [2021.11.0]
at: C:/lib/build/opencv/3rdparty/ippicv/ippicv_win/icv
Intel IPP IW: sources (2021.11.0)
at: C:/lib/build/opencv/3rdparty/ippicv/ippicv_win/iw
Lapack: NO
OpenVINO: YES (2022.3.0)
Eigen: YES (ver ..)
Custom HAL: NO
Protobuf: build (3.19.1)
Flatbuffers: builtin/3rdparty (23.5.9)
NVIDIA CUDA: YES (ver 12.1, CUFFT CUBLAS)
NVIDIA GPU arch: 86
NVIDIA PTX archs:
cuDNN: YES (ver 8.8.0)
OpenCL: YES (NVD3D11)
Include path: C:/lib/opencv/3rdparty/include/opencl/1.2
Link libraries: Dynamic load
Python 3:
Interpreter: C:/Program Files/Python310/python.exe (ver 3.10.10)
Libraries: optimized C:/Program Files/Python310/libs/python310.lib debug C:/Program Files/Python310/libs/python310_d.lib (ver 3.10.10)
numpy: C:/Users/laurent/AppData/Roaming/Python/Python310/site-packages/numpy/core/include (ver 1.23.5)
install path: C:/Users/laurent/AppData/Roaming/Python/Python310/site-packages/cv2/python-3.10
Python (for build): C:/Program Files/Python310/python.exe
Java:
ant: C:/apache-ant-1.10.13/bin/ant.bat (ver 1.10.13)
Java: NO
JNI: C:/Program Files/Java/jdk-17/include C:/Program Files/Java/jdk-17/include/win32 C:/Program Files/Java/jdk-17/include
Java wrappers: YES (ANT)
Java tests: YES
Install to: C:/install/opencv
-----------------------------------------------------------------
Detailed description
[ INFO:0@236.392] global onnx_importer.cpp:976 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode DNN/ONNX: processing node with 2 inputs and 1 outputs: [Add]:(onnx_node!/neck/neck.1/Add) from domain='ai.onnx'
[ INFO:0@236.393] global onnx_importer.cpp:976 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode DNN/ONNX: processing node with 1 inputs and 1 outputs: [Sqrt]:(onnx_node!/neck/neck.1/Sqrt) from domain='ai.onnx'
[ INFO:0@236.394] global onnx_importer.cpp:976 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode DNN/ONNX: processing node with 2 inputs and 1 outputs: [Div]:(onnx_node!/neck/neck.1/Div) from domain='ai.onnx'
[ INFO:0@241.212] global onnx_importer.cpp:976 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode DNN/ONNX: processing node with 3 inputs and 1 outputs: [LayerNormalization]:(onnx_node!/neck/neck.1/Add_1) from domain='ai.onnx'
OpenCV(4.9.0-dev) Error: Unspecified error (> LayerNorm: shape of weight does not match with given axis and shape of input (expected: 'x_ndims - axis == w_ndims'), where
> 'x_ndims - axis' is 3
> must be equal to
> 'w_ndims' is 4
) in bool __cdecl cv::dnn::LayerNormLayerImpl::getMemoryShapes(const class std::vector<class std::vector<int,class std::allocator<int> >,class std::allocator<class std::vector<int,class std::allocator<int> > > > &,const int,class std::vector<class std::vector<int,class std::allocator<int> >,class std::allocator<class std::vector<int,class std::allocator<int> > > > &,class std::vector<class std::vector<int,class std::allocator<int> >,class std::allocator<class std::vector<int,class std::allocator<int> > > > &) const, file C:\lib\opencv\modules\dnn\src\layers\layer_norm.cpp, line 71
[ERROR:0@241.216] global onnx_importer.cpp:1034 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode DNN/ONNX: ERROR during processing node with 3 inputs and 1 outputs: [LayerNormalization]:(onnx_node!/neck/neck.1/Add_1) from domain='ai.onnx'
[ INFO:0@241.216] global onnx_importer.cpp:1038 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode Input[0] = '/neck/neck.0/Conv_output_0'
[ INFO:0@241.216] global onnx_importer.cpp:1038 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode Input[1] = '/neck/neck.1/Div_output_0'
[ INFO:0@241.216] global onnx_importer.cpp:1038 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode Input[2] = 'onnx::Add_4341'
[ INFO:0@241.217] global onnx_importer.cpp:1042 cv::dnn::dnn4_v20231225::ONNXImporter::handleNode Output[0] = '/neck/neck.1/Add_1_output_0'
OpenCV(4.9.0-dev) Error: Unspecified error (> Node [LayerNormalization@ai.onnx]:(onnx_node!/neck/neck.1/Add_1) parse error: OpenCV(4.9.0-dev) C:\lib\opencv\modules\dnn\src\layers\layer_norm.cpp:71: error: (-2:Unspecified error) in function 'bool __cdecl cv::dnn::LayerNormLayerImpl::getMemoryShapes(const class std::vector<class std::vector<int,class std::allocator<int> >,class std::allocator<class std::vector<int,class std::allocator<int> > > > &,const int,class std::vector<class std::vector<int,class std::allocator<int> >,class std::allocator<class std::vector<int,class std::allocator<int> > > > &,class std::vector<class std::vector<int,class std::allocator<int> >,class std::allocator<class std::vector<int,class std::allocator<int> > > > &) const'
> > LayerNorm: shape of weight does not match with given axis and shape of input (expected: 'x_ndims - axis == w_ndims'), where
> > 'x_ndims - axis' is 3
> > must be equal to
> > 'w_ndims' is 4
> ) in cv::dnn::dnn4_v20231225::ONNXImporter::handleNode, file C:\lib\opencv\modules\dnn\src\onnx\onnx_importer.cpp, line 1053
Node

I cannot find a layernormalisation node
model https://drive.google.com/file/d/1-37gbPuffQMRW9aub7Q8wOa_k7POhFma/view?usp=sharing
or
test_attentionlayer.zip
or
test_attentionlayer1.zip
not same problem but error in layernorm and no error in onnx
Steps to reproduce
int main(int argc, char** argv)
{
Net netSam = readNet("vit_b_encoder.onnx_sim.onnx");
}
Issue submission checklist
- I report the issue, it's not a question
- I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
- I updated to the latest OpenCV version and the issue is still there
- There is reproducer code and related data files (videos, images, onnx, etc)
Reactions are currently unavailable