mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-07 17:15:29 +00:00
Add int8/int32 Relu for Opset 14 (#7536)
* Add int8 Relu for Opset 14 * update kernel def hashes and exclude TensorRT for int8 relu Co-authored-by: Hari Vallabhaneni <harivall@berkeley.edu>
This commit is contained in:
parent
98007f0be6
commit
f487f6be25
5 changed files with 25 additions and 1 deletions
|
|
@ -49,6 +49,8 @@ REGISTER_VERSIONED_UNARY_ELEMENTWISE_TYPED_KERNEL(Relu, 13, 13, float);
|
|||
REGISTER_VERSIONED_UNARY_ELEMENTWISE_TYPED_KERNEL(Relu, 13, 13, double);
|
||||
REGISTER_UNARY_ELEMENTWISE_TYPED_KERNEL(Relu, 14, float);
|
||||
REGISTER_UNARY_ELEMENTWISE_TYPED_KERNEL(Relu, 14, double);
|
||||
REGISTER_UNARY_ELEMENTWISE_TYPED_KERNEL(Relu, 14, int8_t);
|
||||
REGISTER_UNARY_ELEMENTWISE_TYPED_KERNEL(Relu, 14, int32_t);
|
||||
REGISTER_UNARY_ELEMENTWISE_KERNEL(Selu, 6);
|
||||
REGISTER_VERSIONED_UNARY_ELEMENTWISE_TYPED_KERNEL(Sigmoid, 6, 12, float);
|
||||
REGISTER_VERSIONED_UNARY_ELEMENTWISE_TYPED_KERNEL(Sigmoid, 6, 12, double);
|
||||
|
|
|
|||
|
|
@ -665,6 +665,8 @@ class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain,
|
|||
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, int64_t, CumSum);
|
||||
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, float, Relu);
|
||||
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, double, Relu);
|
||||
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, int8_t, Relu);
|
||||
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, int32_t, Relu);
|
||||
class ONNX_OPERATOR_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, Trilu);
|
||||
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, float, Add);
|
||||
class ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, double, Add);
|
||||
|
|
@ -1777,6 +1779,10 @@ Status RegisterOnnxOperatorKernels(KernelRegistry& kernel_registry) {
|
|||
Relu)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, double,
|
||||
Relu)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, int8_t,
|
||||
Relu)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, int32_t,
|
||||
Relu)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, Trilu)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, float, Add)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kCpuExecutionProvider, kOnnxDomain, 14, double, Add)>,
|
||||
|
|
|
|||
|
|
@ -100,6 +100,12 @@ TEST_F(ActivationOpTest, Relu) {
|
|||
TestActivationOp<double>("Relu",
|
||||
input_values_double,
|
||||
[](double x) { return std::max(x, 0.0); });
|
||||
TestActivationOp<int8_t>("Relu",
|
||||
input_values_int8,
|
||||
[](int8_t x) { return std::max(x, static_cast<int8_t>(0)); },
|
||||
{},
|
||||
/*is_tensorrt_supported=*/ false,
|
||||
/*opset_version= */ 14);
|
||||
}
|
||||
|
||||
TEST_F(ActivationOpTest, Elu) {
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@ class ActivationOpTest : public ::testing::Test {
|
|||
100.0, -100.0, 1000.0, -1000.0, // input values that leads to exp() overflow
|
||||
DBL_MIN, DBL_MIN / 10, -DBL_MIN / 10, // min, denorm, -denorm
|
||||
DBL_MAX, -DBL_MAX, std::numeric_limits<double>::infinity()}}; // max, -max, inf
|
||||
std::vector<std::vector<int8_t>> input_values_int8{{-1, -5, 0, 1, 5, 100, -100, // normal input values for activation
|
||||
std::numeric_limits<int8_t>::min(), std::numeric_limits<int8_t>::max()}}; // min, max
|
||||
|
||||
void SetUp() override {
|
||||
float low = -1.0f, high = 1.0f;
|
||||
|
|
|
|||
|
|
@ -1999,6 +1999,14 @@
|
|||
"Relu ai.onnx CPUExecutionProvider",
|
||||
17992752176767437224
|
||||
],
|
||||
[
|
||||
"Relu ai.onnx CPUExecutionProvider",
|
||||
800813007613791272
|
||||
],
|
||||
[
|
||||
"Relu ai.onnx CPUExecutionProvider",
|
||||
8895401642537447048
|
||||
],
|
||||
[
|
||||
"Reshape ai.onnx CPUExecutionProvider",
|
||||
15585679549439997664
|
||||
|
|
@ -2523,4 +2531,4 @@
|
|||
"Xor ai.onnx CPUExecutionProvider",
|
||||
14631049987911195736
|
||||
]
|
||||
]
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in a new issue