diff options
author | A. Unique TensorFlower <gardener@tensorflow.org> | 2018-08-21 11:54:42 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-08-21 12:03:30 -0700 |
commit | 81d90de884ad6005e57e0d7d333e8476659d00c2 (patch) | |
tree | 86944a1eb9122dc5758aa9ccb2a3d077c9788e71 /tensorflow/contrib/lite/toco | |
parent | 9158b1b83a0128fc41bfccd80fe26d8231fe958b (diff) |
Support reduce_min
PiperOrigin-RevId: 209634537
Diffstat (limited to 'tensorflow/contrib/lite/toco')
-rw-r--r-- | tensorflow/contrib/lite/toco/export_tensorflow.cc | 2 | ||||
-rw-r--r-- | tensorflow/contrib/lite/toco/tflite/operator.cc | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/tensorflow/contrib/lite/toco/export_tensorflow.cc b/tensorflow/contrib/lite/toco/export_tensorflow.cc index 02671f0408..f489c5ac65 100644 --- a/tensorflow/contrib/lite/toco/export_tensorflow.cc +++ b/tensorflow/contrib/lite/toco/export_tensorflow.cc @@ -2118,7 +2118,7 @@ void ConvertOperator(const Model& model, const Operator& src_op, tensorflow_graph, "Prod"); } else if (src_op.type == OperatorType::kReduceMin) { ConvertReduceOperator(model, - static_cast<const TensorFlowMaxOperator&>(src_op), + static_cast<const TensorFlowMinOperator&>(src_op), tensorflow_graph, "Min"); } else if (src_op.type == OperatorType::kReduceMax) { ConvertReduceOperator(model, diff --git a/tensorflow/contrib/lite/toco/tflite/operator.cc b/tensorflow/contrib/lite/toco/tflite/operator.cc index 75808f2b69..dcb5fff39f 100644 --- a/tensorflow/contrib/lite/toco/tflite/operator.cc +++ b/tensorflow/contrib/lite/toco/tflite/operator.cc @@ -787,6 +787,25 @@ class ReduceMax int GetVersion(const Operator& op) const override { return 1; } }; +class ReduceMin + : public BuiltinOperator<TensorFlowSumOperator, ::tflite::ReducerOptions, + ::tflite::BuiltinOptions_ReducerOptions> { + public: + using BuiltinOperator::BuiltinOperator; + flatbuffers::Offset<TfLiteOptions> WriteOptions( + const TocoOperator& op, + flatbuffers::FlatBufferBuilder* builder) const override { + return ::tflite::CreateReducerOptions(*builder, op.keep_dims); + } + + void ReadOptions(const TfLiteOptions& options, + TocoOperator* op) const override { + op->keep_dims = options.keep_dims(); + } + + int GetVersion(const Operator& op) const override { return 1; } +}; + class ReduceProd : public BuiltinOperator<TensorFlowSumOperator, ::tflite::ReducerOptions, ::tflite::BuiltinOptions_ReducerOptions> { @@ -1297,6 +1316,8 @@ std::vector<std::unique_ptr<BaseOperator>> BuildOperatorList() { OperatorType::kReduceProd)); ops.push_back(MakeUnique<ReduceMax>(::tflite::BuiltinOperator_REDUCE_MAX, OperatorType::kReduceMax)); + ops.push_back(MakeUnique<ReduceMin>(::tflite::BuiltinOperator_REDUCE_MIN, + OperatorType::kReduceMin)); ops.push_back( MakeUnique<ResizeBilinear>(::tflite::BuiltinOperator_RESIZE_BILINEAR, OperatorType::kResizeBilinear)); |