Remove same scale constraint from TFL ReLU ops.
PiperOrigin-RevId: 331235643 Change-Id: I10472edd2a96c000a38248ae4c57cf99cf3d9da1
This commit is contained in:
parent
e9c590ea68
commit
1b84cc94ef
@ -2447,8 +2447,7 @@ def TFL_ReluOp: TFL_Op<"relu", [
|
||||
PredOpTrait<"x and y must have same element type",
|
||||
TFL_TCresVTEtIsSameAsOp<0, 0>>,
|
||||
NoSideEffect,
|
||||
SameOperandsAndResultShape,
|
||||
SameOperandsAndResultsScale]> {
|
||||
SameOperandsAndResultShape]> {
|
||||
let summary = "Relu operator";
|
||||
|
||||
let description = [{
|
||||
@ -2476,8 +2475,7 @@ def TFL_Relu6Op: TFL_Op<"relu6", [
|
||||
PredOpTrait<"x and y must have same element type",
|
||||
TFL_TCresVTEtIsSameAsOp<0, 0>>,
|
||||
NoSideEffect,
|
||||
SameOperandsAndResultShape,
|
||||
SameOperandsAndResultsScale]> {
|
||||
SameOperandsAndResultShape]> {
|
||||
let summary = "Relu6 operator";
|
||||
|
||||
let description = [{
|
||||
@ -2505,8 +2503,7 @@ def TFL_Relu1Op: TFL_Op<"relu_n1_to_1", [
|
||||
PredOpTrait<"x and y must have same element type",
|
||||
TFL_TCresVTEtIsSameAsOp<0, 0>>,
|
||||
NoSideEffect,
|
||||
SameOperandsAndResultShape,
|
||||
SameOperandsAndResultsScale]> {
|
||||
SameOperandsAndResultShape]> {
|
||||
let summary = "Relu1 operator";
|
||||
|
||||
let description = [{
|
||||
|
@ -1700,6 +1700,15 @@ func @testRelu6WithQuantizedTypes(%arg0 : tensor<10x!quant.uniform<u8:f32, 1.0>>
|
||||
|
||||
// -----
|
||||
|
||||
func @testReluWithDifferentScales(%arg0 : tensor<10x!quant.uniform<u8:f32, 1.0>>) -> tensor<10x!quant.uniform<u8:f32, 4.0>> {
|
||||
%0 = "tfl.relu"(%arg0) : (tensor<10x!quant.uniform<u8:f32, 1.0>>) -> tensor<10x!quant.uniform<u8:f32, 2.0>>
|
||||
%1 = "tfl.relu_n1_to_1"(%0) : (tensor<10x!quant.uniform<u8:f32, 2.0>>) -> tensor<10x!quant.uniform<u8:f32, 3.0>>
|
||||
%2 = "tfl.relu6"(%1) : (tensor<10x!quant.uniform<u8:f32, 3.0>>) -> tensor<10x!quant.uniform<u8:f32, 4.0>>
|
||||
return %2 : tensor<10x!quant.uniform<u8:f32, 4.0>>
|
||||
}
|
||||
|
||||
// -----
|
||||
|
||||
func @testEmbeddingLookup(%arg0 : tensor<?xi32>, %arg1 : tensor<?x?xf32>) -> tensor<?xf32> {
|
||||
%0 = "tfl.embedding_lookup"(%arg0, %arg1) : (tensor<?xi32>,tensor<?x?xf32>) -> tensor<?xf32>
|
||||
return %0 : tensor<?xf32>
|
||||
|
Loading…
x
Reference in New Issue
Block a user