blob: 0e1264548e2a02a6adea576dc82d8b347b0c6263 [file] [edit]
diff --git a/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling.cc b/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling.cc
index 15018715fc3..5672ebf18c4 100644
--- a/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling.cc
+++ b/tensorflow/lite/delegates/gpu/cl/testing/performance_profiling.cc
@@ -35,6 +35,8 @@ absl::Status RunPredefinedLayoutSample(const std::string& model_name) {
auto flatbuffer = tflite::FlatBufferModel::BuildFromFile(model_name.c_str());
GraphFloat32 graph_cl;
ops::builtin::BuiltinOpResolver op_resolver;
+ TfLiteRegistration reg = { nullptr, nullptr, nullptr, nullptr };
+ op_resolver.AddCustom("Convolution2DTransposeBias", &reg);
RETURN_IF_ERROR(BuildFromFlatBuffer(*flatbuffer, op_resolver, &graph_cl,
/*allow_quant_ops=*/true));
@@ -79,6 +81,8 @@ absl::Status RunExternalImmutableSample(const std::string& model_name) {
auto flatbuffer = tflite::FlatBufferModel::BuildFromFile(model_name.c_str());
GraphFloat32 graph_cl;
ops::builtin::BuiltinOpResolver op_resolver;
+ TfLiteRegistration reg = { nullptr, nullptr, nullptr, nullptr };
+ op_resolver.AddCustom("Convolution2DTransposeBias", &reg);
RETURN_IF_ERROR(BuildFromFlatBuffer(*flatbuffer, op_resolver, &graph_cl,
/*allow_quant_ops*/ true));
@@ -131,6 +135,8 @@ absl::Status RunSerializedTest(const std::string& model_name) {
auto flatbuffer = tflite::FlatBufferModel::BuildFromFile(model_name.c_str());
GraphFloat32 graph_cl;
ops::builtin::BuiltinOpResolver op_resolver;
+ TfLiteRegistration reg = { nullptr, nullptr, nullptr, nullptr };
+ op_resolver.AddCustom("Convolution2DTransposeBias", &reg);
RETURN_IF_ERROR(BuildFromFlatBuffer(*flatbuffer, op_resolver, &graph_cl,
/*allow_quant_ops*/ true));
@@ -276,6 +282,8 @@ absl::Status RunModelSample(const std::string& model_name) {
auto flatbuffer = tflite::FlatBufferModel::BuildFromFile(model_name.c_str());
GraphFloat32 graph_cl;
ops::builtin::BuiltinOpResolver op_resolver;
+ TfLiteRegistration reg = { nullptr, nullptr, nullptr, nullptr };
+ op_resolver.AddCustom("Convolution2DTransposeBias", &reg);
RETURN_IF_ERROR(BuildFromFlatBuffer(*flatbuffer, op_resolver, &graph_cl,
/*allow_quant_ops*/ true));
diff --git a/tensorflow/lite/tools/benchmark/benchmark_tflite_model.cc b/tensorflow/lite/tools/benchmark/benchmark_tflite_model.cc
index 05ce93d2e6d..2fae7c4ee60 100644
--- a/tensorflow/lite/tools/benchmark/benchmark_tflite_model.cc
+++ b/tensorflow/lite/tools/benchmark/benchmark_tflite_model.cc
@@ -60,7 +60,11 @@ void RegisterSelectedOps(::tflite::MutableOpResolver* resolver);
// library with another definition of this function (presumably to actually
// register custom ops), that version will be used instead.
void ABSL_ATTRIBUTE_WEAK
-RegisterSelectedOps(::tflite::MutableOpResolver* resolver) {}
+RegisterSelectedOps(::tflite::MutableOpResolver* resolver) {
+ static TfLiteRegistration reg = { nullptr, nullptr, nullptr, nullptr };
+ resolver->AddCustom("Convolution2DTransposeBias",
+ &reg);
+}
namespace tflite {
namespace benchmark {
diff --git a/tensorflow/lite/tools/evaluation/stages/tflite_inference_stage.cc b/tensorflow/lite/tools/evaluation/stages/tflite_inference_stage.cc
index 38a733fce24..bd22f5d1f09 100644
--- a/tensorflow/lite/tools/evaluation/stages/tflite_inference_stage.cc
+++ b/tensorflow/lite/tools/evaluation/stages/tflite_inference_stage.cc
@@ -140,6 +140,8 @@ TfLiteStatus TfliteInferenceStage::Init(
resolver_ = std::make_unique<
ops::builtin::BuiltinOpResolverWithoutDefaultDelegates>();
}
+ TfLiteRegistration reg = { nullptr, nullptr, nullptr, nullptr };
+ resolver_->AddCustom("Convolution2DTransposeBias", &reg);
RegisterSelectedOps(resolver_.get());
InterpreterBuilder(*model_, *resolver_)(&interpreter_);
if (!interpreter_) {