diff --git a/tensorflow/lite/delegates/gpu/metal/compiled_model.cc b/tensorflow/lite/delegates/gpu/metal/compiled_model.cc index 97f8dfc6fa2..872491afdff 100644 --- a/tensorflow/lite/delegates/gpu/metal/compiled_model.cc +++ b/tensorflow/lite/delegates/gpu/metal/compiled_model.cc @@ -573,7 +573,14 @@ Status ValidateOptimizeModel(const std::vector<ValueId>& input_buffers, GetMissingOutputBufferIds(output_buffers, sorted_chains); info.gpu_tasks_count = static_cast<int>(sorted_chains.size()); if (sorted_chains.empty()) { - return InternalError("Empty chains"); + const std::string message = + "No valid operations in the graph.\nInput operations count " + + std::to_string(info.operations_count) + "\nUnused operations " + + std::to_string(info.unused_operations.size()) + "\nUnused inputs " + + std::to_string(info.unused_input_buffer_ids.size()) + + "\nMissing output buffers " + + std::to_string(info.missing_output_buffer_ids.size()); + return InternalError(message); } for (const auto& chain : sorted_chains) output->push_back(FuseChain(chain)); return OkStatus();