diff options
author | 2018-08-30 15:49:57 -0700 | |
---|---|---|
committer | 2018-08-30 15:55:04 -0700 | |
commit | 5d5591fbd4624ff7e50f305464667315f2d41ebb (patch) | |
tree | d8958ce22a2cbf5403b378fa2dc253c89b2b9ac6 /tensorflow/contrib/lite/toco | |
parent | 98a07dd2b83b6c73a693bb4b9f348b207ca03c04 (diff) |
Adding support for resolving constant Exp ops.
PiperOrigin-RevId: 210995878
Diffstat (limited to 'tensorflow/contrib/lite/toco')
-rw-r--r-- | tensorflow/contrib/lite/toco/graph_transformations/resolve_constant_unary.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tensorflow/contrib/lite/toco/graph_transformations/resolve_constant_unary.cc b/tensorflow/contrib/lite/toco/graph_transformations/resolve_constant_unary.cc index 475415e481..c698a9567a 100644 --- a/tensorflow/contrib/lite/toco/graph_transformations/resolve_constant_unary.cc +++ b/tensorflow/contrib/lite/toco/graph_transformations/resolve_constant_unary.cc @@ -51,6 +51,7 @@ bool ResolveConstantUnaryOperator::Run(Model* model, std::size_t op_index) { // Test for unary ops of types that we know how to resolve. switch (unary_op->type) { case OperatorType::kCast: + case OperatorType::kExp: case OperatorType::kLog: case OperatorType::kNeg: case OperatorType::kRsqrt: @@ -218,7 +219,8 @@ bool ResolveConstantUnaryOperator::Run(Model* model, std::size_t op_index) { max = std::max(max, (*input_float_data)[i]); } output_float_data[0] = max; - } else if (unary_op->type == OperatorType::kNeg || + } else if (unary_op->type == OperatorType::kExp || + unary_op->type == OperatorType::kNeg || unary_op->type == OperatorType::kLog || unary_op->type == OperatorType::kRsqrt || unary_op->type == OperatorType::kSqrt || @@ -231,7 +233,9 @@ bool ResolveConstantUnaryOperator::Run(Model* model, std::size_t op_index) { for (int i = 0; i < output_buffer_size; i++) { const float val = (*input_float_data)[i]; float outval = 0.f; - if (unary_op->type == OperatorType::kNeg) { + if (unary_op->type == OperatorType::kExp) { + outval = std::exp(val); + } else if (unary_op->type == OperatorType::kNeg) { outval = -val; } else if (unary_op->type == OperatorType::kLog) { outval = std::log(val); |