diff --git a/tensorflow_serving/servables/tensorflow/saved_model_bundle_factory.cc b/tensorflow_serving/servables/tensorflow/saved_model_bundle_factory.cc index 7d97667e79e..b2a433e8200 100644 --- a/tensorflow_serving/servables/tensorflow/saved_model_bundle_factory.cc +++ b/tensorflow_serving/servables/tensorflow/saved_model_bundle_factory.cc @@ -70,7 +70,11 @@ absl::Status LoadTfLiteModel(const string& model_dir, SavedModelBundle* bundle, string model_bytes; model_bytes.resize(size); absl::string_view sv; + TF_RETURN_IF_ERROR(file->Read(0, sv, absl::MakeSpan(&model_bytes[0], size))); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif std::unique_ptr tflite_session; TF_RETURN_IF_ERROR(TfLiteSession::Create( diff --git a/tensorflow_serving/servables/tensorflow/tflite_interpreter_pool_test.cc b/tensorflow_serving/servables/tensorflow/tflite_interpreter_pool_test.cc index 1b3140eb485..3d209c0b647 100644 --- a/tensorflow_serving/servables/tensorflow/tflite_interpreter_pool_test.cc +++ b/tensorflow_serving/servables/tensorflow/tflite_interpreter_pool_test.cc @@ -48,6 +48,9 @@ TEST(TfLiteInterpreterPool, CreateTfLiteInterpreterPoolTest) { TF_ASSERT_OK(ReadFileToString(Env::Default(), test_util::TestSrcDirPath(kParseExampleModel), &model_bytes)); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif auto model = tflite::FlatBufferModel::BuildFromModel( flatbuffers::GetRoot(model_bytes.data())); int pool_size = 1; @@ -103,6 +106,9 @@ TEST(TfLiteInterpreterWrapper, TfLiteInterpreterWrapperTest) { TF_ASSERT_OK(ReadFileToString(Env::Default(), test_util::TestSrcDirPath(kParseExampleModel), &model_bytes)); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif auto model = tflite::FlatBufferModel::BuildFromModel( flatbuffers::GetRoot(model_bytes.data())); tflite::ops::builtin::BuiltinOpResolver resolver; diff --git a/tensorflow_serving/servables/tensorflow/tflite_session_main.cc b/tensorflow_serving/servables/tensorflow/tflite_session_main.cc index d219108bcff..8f374be9c2b 100644 --- a/tensorflow_serving/servables/tensorflow/tflite_session_main.cc +++ b/tensorflow_serving/servables/tensorflow/tflite_session_main.cc @@ -37,6 +37,9 @@ int main(int argc, char** argv) { std::string model_bytes; auto status = ReadFileToString(tensorflow::Env::Default(), filename, &model_bytes); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif if (!status.ok()) { std::cerr << "ERROR: Failed to read model file: " << filename << " with error: " << status << std::endl; diff --git a/tensorflow_serving/servables/tensorflow/tflite_session_test.cc b/tensorflow_serving/servables/tensorflow/tflite_session_test.cc index dd797eec58e..27ecaa7361c 100644 --- a/tensorflow_serving/servables/tensorflow/tflite_session_test.cc +++ b/tensorflow_serving/servables/tensorflow/tflite_session_test.cc @@ -88,6 +88,9 @@ TEST(TfLiteSession, BasicTest) { TF_ASSERT_OK(ReadFileToString(tensorflow::Env::Default(), test_util::TestSrcDirPath(kTestModel), &model_bytes)); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif ::google::protobuf::Map signatures; std::unique_ptr session; @@ -146,6 +149,9 @@ TEST(TfLiteSession, ResizeWithSameNumElementsTest) { TF_ASSERT_OK(ReadFileToString(tensorflow::Env::Default(), test_util::TestSrcDirPath(kTestModel), &model_bytes)); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif ::google::protobuf::Map signatures; std::unique_ptr session; @@ -199,6 +205,9 @@ TEST(TfLiteSession, ModelFromLegacyConverterWithSigdef) { TF_ASSERT_OK(ReadFileToString(tensorflow::Env::Default(), test_util::TestSrcDirPath(kTestModelWithSigdef), &model_bytes)); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif ::google::protobuf::Map signatures; std::unique_ptr session; @@ -647,6 +656,9 @@ absl::Status BuildSessionInBatch(std::unique_ptr* sess, std::string model_bytes; TF_RETURN_IF_ERROR(ReadFileToString( Env::Default(), test_util::TestSrcDirPath(model_path), &model_bytes)); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif auto model = tflite::FlatBufferModel::BuildFromModel( flatbuffers::GetRoot(model_bytes.data())); const int model_batch_size = 5; @@ -784,6 +796,9 @@ TEST(TfLiteSession, TestSetScheduler) { TF_ASSERT_OK(ReadFileToString(Env::Default(), test_util::TestSrcDirPath(kParseExampleModel), &model_bytes)); +#if FLATBUFFERS_LITTLEENDIAN == 0 + tflite::FlatBufferModel::ByteSwapSerializedModel(&model_bytes, false); +#endif auto model = tflite::FlatBufferModel::BuildFromModel( flatbuffers::GetRoot(model_bytes.data())); auto model_signature_def_map = GetTestSignatureDefMap();