-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Describe the bug
Onnxruntime defined some operators (like LayerNormalization, SimplifiedLayerNormalization etc) in onnx domain:
onnxruntime/onnxruntime/contrib_ops/cuda/cuda_contrib_kernels.cc
Lines 70 to 75 in 8d737f9
| class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCudaExecutionProvider, kOnnxDomain, 1, float_float, LayerNormalization); | |
| class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCudaExecutionProvider, kOnnxDomain, 1, double_double, LayerNormalization); | |
| class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCudaExecutionProvider, kOnnxDomain, 1, MLFloat16_float, LayerNormalization); | |
| class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCudaExecutionProvider, kOnnxDomain, 1, float_float, SimplifiedLayerNormalization); | |
| class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCudaExecutionProvider, kOnnxDomain, 1, double_double, SimplifiedLayerNormalization); | |
| class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCudaExecutionProvider, kOnnxDomain, 1, MLFloat16_float, SimplifiedLayerNormalization); |
However, they are not standard onnx operators as listed in (https://github.com/onnx/onnx/blob/master/docs/Operators.md).
That causes some issue. For example, symbolic shape inference outputs warning:
Warning: Unsupported operator LayerNormalization. No schema registered for this operator.
Urgency
If there are particular important use cases blocked by this or strict project-related timelines, please share more information and dates. If there are no hard deadlines, please specify none.
None
System information
- OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
- ONNX Runtime installed from (source or binary):
- ONNX Runtime version:
- Python version:
- Visual Studio version (if applicable):
- GCC/Compiler version (if compiling from source):
- CUDA/cuDNN version:
- GPU model and memory:
To Reproduce
- Describe steps/code to reproduce the behavior.
- Attach the ONNX model to the issue (where applicable) to expedite investigation.
Expected behavior
How about change to MS domain, and add some logic for backward compatible (like rewrite the domain for those operator during loading models).
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here. If the issue is about a particular model, please share the model details as well to facilitate debugging.