-
-
Notifications
You must be signed in to change notification settings - Fork 56.5k
Open
Labels
bugcategory: dnn (onnx)ONNX suport issues in DNN moduleONNX suport issues in DNN moduleeffort: ∞Do not start this alone. You can discuss / improve existed proposals.Do not start this alone. You can discuss / improve existed proposals.feature
Milestone
Description
System information (version)
- OpenCV => 4.5.4
- Operating System / Platform => Linux
- Compiler => g++ 8.4.0
Detailed description
I ran ONNX conformance tests from official repo, and the found the following issues:
-
DataLayer- Forward fails doe to wrong size access on DataLayer. 1D inputs fail on DataLayer #25070
-
Add- lack of broadcasting; Reimplementation of Element-wise layers with broadcasting support #21865
-
AveragePool- ceil_mode is set by checking the existence of pad_mode; fix ceil_mode for Average/MaxPooling #21159
-
count_include_padnot supported -
auto_padis deprecated, but we support it, but not making distinction betweensame_upperandsame_lower
-
MaxPool-
ceil_modeis set by checking the existence ofpad_mode; fix ceil_mode for Average/MaxPooling #21159 -
auto_padis deprecated, but we support it, but not making distinction betweensame_upperandsame_lower - we seem to not support
dilations
-
-
BatchNormalization-
meanblob is supported only as const
-
-
Clip-
minandmaxshouldn't be differentiable, model error?; Fix issue 22015, let Clip layer support 1-3 inputs #22100 - defaults are wrong; fix Clip, LeakyReLU, LRN, Split defaults #21152
-
-
Concat- 2 input 1-d input mats with dims [2] become 2-d mats with dims [1, 2], axis=-1, hence
Concatoutput dims are [2, 2] instead of [4]
- 2 input 1-d input mats with dims [2] become 2-d mats with dims [1, 2], axis=-1, hence
-
Constant- net is empty, technically, not an error?
-
ConvTranspose-
Wblob is supported only as const
-
-
Div- does not support 1-d inputs (like everything else); Reimplementation of Element-wise layers with broadcasting support #21865
-
ELU- not handling
alphaparameter; Add alpha parameter to ELU layer #21160, Add alpha parameter to ELU (CUDA) #21161
- not handling
-
Flatten- does not flatten before
axis, ifaxis=0 outputs [X, 1] instead of [1, X]; fix Flatten layer #21283
- does not flatten before
-
Gemm-
Bblob is supported only as const, ONNX conformance test results #21078 (comment)
-
-
GRU- assumes optional inputs are present
- support some inputs in const-only mode
-
InstanceNormalization-
Sblob is supported only as const
-
-
LeakyReLU- default
alphashould be 0.01; fix Clip, LeakyReLU, LRN, Split defaults #21152
- default
-
LogSoftMax/SoftMax- default
axisshould be -1 - if the opset is v11, otherwise it's 1 -
..._expandedmodels should be fused; Add Log/Softmax simplification #21162
- default
-
LRN- default
alphashould be 0.0001; fix Clip, LeakyReLU, LRN, Split defaults #21152
- default
-
LSTM- assumes optional inputs are present
- support some inputs in const-only mode
-
Max/Min/Mul- does not support 1-d inputs (like everything else)
-
Pow- second blob is supported only as const
-
PRelu-
Slopeblob is supported only as const
-
-
ReduceMax/ReduceMean- doesn't handle 2-d input
- does not support reduce along some axis(0, if input is 3-d)
- doesn't support
keepdims=true; Fix a few issues in MaxUnpool, ReduceMean/Max/Sum, Pad #21259
-
ReduceSum- might be all above +; DNN: Reduce Layer (add dynamic batch and ReduceSum support) #22199
-
axesarent handled as attributes, should be optional const input; DNN: Reduce Layer (add dynamic batch and ReduceSum support) #22199
-
Resize- only first input should be differentiable, model error?
-
Split- default
axisis set to 1 instead of 0; fix Clip, LeakyReLU, LRN, Split defaults #21152
- default
-
Sub- lack of broadcasting; Reimplementation of Element-wise layers with broadcasting support #21865
- does not support 1-d inputs (like everything else)
-
Sum- doesn't support only 1 input(identity?), add Sum of 1 input #21164
- does not support 1-d inputs (like everything else)
-
Transpose- does not reverse dimensions in absence of order, Add default order to Transpose #21163
-
Upsample-
scalesblob is supported only as const or attribute
-
-
AND- fails while parsing graph. Issues is related to handing booleans, Parsing ONNX with AND layer fails. #24979
Steps to reproduce
Clone ONNX repo, clone my branch, fix paths in the code and run opencv_test_dnn.
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 solution - I updated to 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
Metadata
Metadata
Assignees
Labels
bugcategory: dnn (onnx)ONNX suport issues in DNN moduleONNX suport issues in DNN moduleeffort: ∞Do not start this alone. You can discuss / improve existed proposals.Do not start this alone. You can discuss / improve existed proposals.feature
Type
Projects
Status
In Progress