Skip to content

Commit 1078ddd

Browse files
committed
Update op resolvers.
1 parent ab3f64e commit 1078ddd

File tree

6 files changed

+14
-5
lines changed

6 files changed

+14
-5
lines changed

python/tflite_micro/python_ops_resolver.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ PythonOpsResolver::PythonOpsResolver() {
9999
AddQuantize();
100100
AddReadVariable();
101101
AddReduceMax();
102+
AddReduceMin();
102103
AddRelu();
103104
AddRelu6();
104105
AddReshape();

tensorflow/lite/micro/kernels/micro_ops.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ TFLMRegistration Register_PRELU();
100100
TFLMRegistration Register_QUANTIZE();
101101
TFLMRegistration Register_READ_VARIABLE();
102102
TFLMRegistration Register_REDUCE_MAX();
103+
TFLMRegistration Register_REDUCE_MIN();
103104
TFLMRegistration Register_RELU();
104105
TFLMRegistration Register_RELU6();
105106
TFLMRegistration Register_RESHAPE();

tensorflow/lite/micro/kernels/reduce_common.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ TfLiteStatus EvalIntegerMean(TfLiteContext* context, TfLiteNode* node,
118118
enum MinMaxEvalType { kEvalMin, kEvalMax };
119119

120120
template <typename T>
121-
struct MinMaxReducerParams {
122-
MinMaxReducerParams() = delete;
123-
MinMaxReducerParams(MinMaxEvalType evalType) : type_(evalType){};
121+
struct MinMaxReducerCompare {
122+
MinMaxReducerCompare() = delete;
123+
MinMaxReducerCompare(MinMaxEvalType evalType) : type_(evalType) {};
124124

125125
constexpr T initialValue() const {
126126
return (type_ == kEvalMin) ? std::numeric_limits<T>::max()
@@ -161,7 +161,7 @@ TfLiteStatus EvalMinMaxHelper(TfLiteContext* context, TfLiteNode* node,
161161
context->GetScratchBuffer(context, op_data->resolved_axis_idx));
162162
switch (input->type) {
163163
case kTfLiteFloat32: {
164-
MinMaxReducerParams<float> reducer(evalType);
164+
MinMaxReducerCompare<float> reducer(evalType);
165165
TF_LITE_ENSURE(
166166
context,
167167
reference_ops::ReduceGeneric<float>(
@@ -173,7 +173,7 @@ TfLiteStatus EvalMinMaxHelper(TfLiteContext* context, TfLiteNode* node,
173173
reducer.initialValue(), reducer.compare()));
174174
} break;
175175
case kTfLiteInt8: {
176-
MinMaxReducerParams<int8_t> reducer(evalType);
176+
MinMaxReducerCompare<int8_t> reducer(evalType);
177177
TF_LITE_ENSURE_EQ(context, static_cast<double>(op_data->input_scale),
178178
static_cast<double>(op_data->output_scale));
179179
TF_LITE_ENSURE_EQ(context, op_data->input_zp, op_data->output_zp);

tensorflow/lite/micro/micro_mutable_op_resolver.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,11 @@ class MicroMutableOpResolver : public MicroOpResolver {
500500
ParseReducer);
501501
}
502502

503+
TfLiteStatus AddReduceMin() {
504+
return AddBuiltin(BuiltinOperator_REDUCE_MIN, Register_REDUCE_MIN(),
505+
ParseReducer);
506+
}
507+
503508
TfLiteStatus AddRelu() {
504509
return AddBuiltin(BuiltinOperator_RELU, tflite::Register_RELU(), ParseRelu);
505510
}

tensorflow/lite/micro/tools/benchmarking/op_resolver.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ inline TfLiteStatus CreateOpResolver(TflmOpResolver& op_resolver) {
104104
TF_LITE_ENSURE_STATUS(op_resolver.AddQuantize());
105105
TF_LITE_ENSURE_STATUS(op_resolver.AddReadVariable());
106106
TF_LITE_ENSURE_STATUS(op_resolver.AddReduceMax());
107+
TF_LITE_ENSURE_STATUS(op_resolver.AddReduceMin());
107108
TF_LITE_ENSURE_STATUS(op_resolver.AddRelu());
108109
TF_LITE_ENSURE_STATUS(op_resolver.AddRelu6());
109110
TF_LITE_ENSURE_STATUS(op_resolver.AddReshape());

third_party/xtensa/examples/pytorch_to_tflite/pytorch_op_resolver.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ TfLiteStatus InitPytorchOpsResolver(PytorchOpsResolver& resolver) {
8383
TF_LITE_ENSURE_STATUS(resolver.AddQuantize());
8484
TF_LITE_ENSURE_STATUS(resolver.AddReadVariable());
8585
TF_LITE_ENSURE_STATUS(resolver.AddReduceMax());
86+
TF_LITE_ENSURE_STATUS(resolver.AddReduceMin());
8687
TF_LITE_ENSURE_STATUS(resolver.AddRelu());
8788
TF_LITE_ENSURE_STATUS(resolver.AddRelu6());
8889
TF_LITE_ENSURE_STATUS(resolver.AddReshape());

0 commit comments

Comments
 (0)