aboutsummaryrefslogtreecommitdiff
path: root/tensorflow_lite_support/cc/task/core/tflite_engine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow_lite_support/cc/task/core/tflite_engine.cc')
-rw-r--r--tensorflow_lite_support/cc/task/core/tflite_engine.cc30
1 files changed, 8 insertions, 22 deletions
diff --git a/tensorflow_lite_support/cc/task/core/tflite_engine.cc b/tensorflow_lite_support/cc/task/core/tflite_engine.cc
index cf923f6a..bb711ede 100644
--- a/tensorflow_lite_support/cc/task/core/tflite_engine.cc
+++ b/tensorflow_lite_support/cc/task/core/tflite_engine.cc
@@ -21,7 +21,6 @@ limitations under the License.
#include "absl/strings/str_cat.h"
#include "tensorflow/lite/builtin_ops.h"
#include "tensorflow/lite/stderr_reporter.h"
-#include "tensorflow/lite/tools/verifier.h"
#include "tensorflow_lite_support/cc/common.h"
#include "tensorflow_lite_support/cc/port/status_macros.h"
#include "tensorflow_lite_support/cc/task/core/external_file_handler.h"
@@ -59,19 +58,13 @@ int TfLiteEngine::ErrorReporter::Report(const char* format, va_list args) {
return std::vsnprintf(error_message, sizeof(error_message), format, args);
}
-bool TfLiteEngine::Verifier::Verify(const char* data, int length,
- tflite::ErrorReporter* reporter) {
- return tflite::Verify(data, length, *op_resolver_, reporter);
-}
-
#if TFLITE_USE_C_API
TfLiteEngine::TfLiteEngine(std::unique_ptr<tflite::OpResolver> resolver)
: model_(nullptr, TfLiteModelDelete),
- resolver_(std::move(resolver)),
- verifier_(resolver_.get()) {}
+ resolver_(std::move(resolver)) {}
#else
TfLiteEngine::TfLiteEngine(std::unique_ptr<tflite::OpResolver> resolver)
- : model_(), resolver_(std::move(resolver)), verifier_(resolver_.get()) {}
+ : model_(), resolver_(std::move(resolver)) {}
#endif
std::vector<TfLiteTensor*> TfLiteEngine::GetInputs() {
@@ -96,10 +89,8 @@ std::vector<const TfLiteTensor*> TfLiteEngine::GetOutputs() {
return tensors;
}
-// The following function is adapted from the code in
-// tflite::FlatBufferModel::VerifyAndBuildFromBuffer.
-void TfLiteEngine::VerifyAndBuildModelFromBuffer(const char* buffer_data,
- size_t buffer_size) {
+// The following function is adapted from the code in tflite::FlatBufferModel::BuildFromBuffer.
+void TfLiteEngine::BuildModelFromBuffer(const char* buffer_data, size_t buffer_size) {
#if TFLITE_USE_C_API
// First verify with the base flatbuffers verifier.
// This verifies that the model is a valid flatbuffer model.
@@ -111,24 +102,19 @@ void TfLiteEngine::VerifyAndBuildModelFromBuffer(const char* buffer_data,
model_ = nullptr;
return;
}
- // Next verify with the extra verifier. This verifies that the model only
- // uses operators supported by the OpResolver.
- if (!verifier_.Verify(buffer_data, buffer_size, &error_reporter_)) {
- model_ = nullptr;
- return;
- }
// Build the model.
model_.reset(TfLiteModelCreate(buffer_data, buffer_size));
#else
- model_ = tflite::FlatBufferModel::VerifyAndBuildFromBuffer(
- buffer_data, buffer_size, &verifier_, &error_reporter_);
+ // Warning: This branch of the if-statement lacks a verification step for the model.
+ model_ = tflite::FlatBufferModel::BuildFromBuffer(
+ buffer_data, buffer_size, &error_reporter_);
#endif
}
absl::Status TfLiteEngine::InitializeFromModelFileHandler() {
const char* buffer_data = model_file_handler_->GetFileContent().data();
size_t buffer_size = model_file_handler_->GetFileContent().size();
- VerifyAndBuildModelFromBuffer(buffer_data, buffer_size);
+ BuildModelFromBuffer(buffer_data, buffer_size);
if (model_ == nullptr) {
// To be replaced with a proper switch-case when TF Lite model builder
// returns a `TfLiteStatus` code capturing this type of error.