diff options
Diffstat (limited to 'tensorflow/contrib/lite/toco/graph_transformations/identify_lstm_merge_inputs.cc')
-rw-r--r-- | tensorflow/contrib/lite/toco/graph_transformations/identify_lstm_merge_inputs.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tensorflow/contrib/lite/toco/graph_transformations/identify_lstm_merge_inputs.cc b/tensorflow/contrib/lite/toco/graph_transformations/identify_lstm_merge_inputs.cc index 5b6a984ee1..6ccce923f3 100644 --- a/tensorflow/contrib/lite/toco/graph_transformations/identify_lstm_merge_inputs.cc +++ b/tensorflow/contrib/lite/toco/graph_transformations/identify_lstm_merge_inputs.cc @@ -25,19 +25,22 @@ limitations under the License. namespace toco { -bool MergeLstmCellInputs::Run(Model* model, std::size_t op_index) { +::tensorflow::Status MergeLstmCellInputs::Run(Model* model, + std::size_t op_index, + bool* modified) { + *modified = false; // Find lstm cell. auto op_it = model->operators.begin() + op_index; auto src_op = op_it->get(); if (src_op->type != OperatorType::kLstmCell) { - return false; + return ::tensorflow::Status::OK(); } // Already a compact LstmCell. Do not need to merge cell inputs. const auto* src_lstm_op = static_cast<LstmCellOperator*>(src_op); if (src_lstm_op->kernel_type != LstmCellOperator::KERNEL_FULL || src_lstm_op->inputs.size() != kExtendedLstmInputCount) { - return false; + return ::tensorflow::Status::OK(); } // Identify prev_activ_input, prev_state_input as required Op inputs, @@ -45,12 +48,12 @@ bool MergeLstmCellInputs::Run(Model* model, std::size_t op_index) { string prev_activ_input; if (!GetMatchingRnnArray(model, src_op->outputs[kOutputTensor], &prev_activ_input)) { - return false; + return ::tensorflow::Status::OK(); } string prev_state_input; if (!GetMatchingRnnArray(model, src_op->outputs[kCellStateTensor], &prev_state_input)) { - return false; + return ::tensorflow::Status::OK(); } // Get LstmCell's cell, input, output size. @@ -184,7 +187,8 @@ bool MergeLstmCellInputs::Run(Model* model, std::size_t op_index) { DeleteArrayIfUnused(src_op->inputs[kOutputGateBiasTensor], model); model->operators.erase(FindOp(*model, src_op)); - return true; + *modified = true; + return ::tensorflow::Status::OK(); } } // namespace toco |