aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/models
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2018-01-24 10:35:22 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-01-24 10:42:18 -0800
commit18cb45c1cc056648cfc98311963a94cfe0f984b3 (patch)
tree777b7a2402d27d44373fed00ac225775b72f0714 /tensorflow/contrib/lite/models
parent32e3acde7fd75c2a34fd10b6f11cd2df864e6e32 (diff)
Internal Change
PiperOrigin-RevId: 183105591
Diffstat (limited to 'tensorflow/contrib/lite/models')
-rw-r--r--tensorflow/contrib/lite/models/smartreply/predictor_test.cc8
-rw-r--r--tensorflow/contrib/lite/models/speech_asr_am_model_test.cc127
-rw-r--r--tensorflow/contrib/lite/models/speech_asr_lm_model_test.cc122
-rw-r--r--tensorflow/contrib/lite/models/speech_endpointer_model_test.cc104
-rw-r--r--tensorflow/contrib/lite/models/speech_hotword_model_test.cc114
-rw-r--r--tensorflow/contrib/lite/models/speech_speakerid_model_test.cc121
-rw-r--r--tensorflow/contrib/lite/models/speech_tts_model_test.cc116
-rw-r--r--tensorflow/contrib/lite/models/test_utils.h84
8 files changed, 7 insertions, 789 deletions
diff --git a/tensorflow/contrib/lite/models/smartreply/predictor_test.cc b/tensorflow/contrib/lite/models/smartreply/predictor_test.cc
index 97d3c650e2..e6c8d966f1 100644
--- a/tensorflow/contrib/lite/models/smartreply/predictor_test.cc
+++ b/tensorflow/contrib/lite/models/smartreply/predictor_test.cc
@@ -22,8 +22,9 @@ limitations under the License.
#include <gtest/gtest.h>
#include "absl/strings/str_cat.h"
#include "absl/strings/str_split.h"
-#include "tensorflow/contrib/lite/models/test_utils.h"
+//#include "tensorflow/contrib/lite/models/test_utils.h"
#include "tensorflow/contrib/lite/string_util.h"
+#include "tensorflow/core/platform/test.h"
namespace tflite {
namespace custom {
@@ -33,6 +34,11 @@ namespace {
const char kModelName[] = "smartreply_ondevice_model.bin";
const char kSamples[] = "smartreply_samples.tsv";
+string TestDataPath() {
+ return string(StrCat(tensorflow::testing::TensorFlowSrcRoot(), "/",
+ "contrib/lite/models/testdata/"));
+}
+
MATCHER_P(IncludeAnyResponesIn, expected_response, "contains the response") {
bool has_expected_response = false;
for (const auto &item : *arg) {
diff --git a/tensorflow/contrib/lite/models/speech_asr_am_model_test.cc b/tensorflow/contrib/lite/models/speech_asr_am_model_test.cc
deleted file mode 100644
index bf95b313f3..0000000000
--- a/tensorflow/contrib/lite/models/speech_asr_am_model_test.cc
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-// Unit test for speech ASR AM model using TFLite Ops.
-
-#include <string.h>
-
-#include <memory>
-#include <string>
-
-#include "base/logging.h"
-#include "file/base/path.h"
-#include "testing/base/public/googletest.h"
-#include <gtest/gtest.h>
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/interpreter.h"
-#include "tensorflow/contrib/lite/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/models/test_utils.h"
-
-namespace tflite {
-namespace models {
-
-constexpr int kModelInputTensor = 0;
-constexpr int kLstmLayer1OutputStateTensor = 19;
-constexpr int kLstmLayer1CellStateTensor = 20;
-constexpr int kLstmLayer2OutputStateTensor = 40;
-constexpr int kLstmLayer2CellStateTensor = 41;
-constexpr int kLstmLayer3OutputStateTensor = 61;
-constexpr int kLstmLayer3CellStateTensor = 62;
-constexpr int kLstmLayer4OutputStateTensor = 82;
-constexpr int kLstmLayer4CellStateTensor = 83;
-constexpr int kLstmLayer5OutputStateTensor = 103;
-constexpr int kLstmLayer5CellStateTensor = 104;
-constexpr int kModelOutputTensor = 109;
-
-TEST(SpeechAsrAm, RandomIOTest) {
- // Read the model.
- string tflite_file_path =
- file::JoinPath(TestDataPath(), "speech_asr_am_model.tflite");
- auto model = FlatBufferModel::BuildFromFile(tflite_file_path.c_str());
- CHECK(model) << "Failed to mmap model " << tflite_file_path;
-
- // Initialize the interpreter.
- ops::builtin::BuiltinOpResolver builtins;
- std::unique_ptr<Interpreter> interpreter;
- InterpreterBuilder(*model, builtins)(&interpreter);
- CHECK(interpreter != nullptr);
- interpreter->AllocateTensors();
-
- // Load the input frames.
- Frames input_frames;
- const string input_file_path =
- file::JoinPath(TestDataPath(), "speech_asr_am_model_in.csv");
- ReadFrames(input_file_path, &input_frames);
-
- // Load the golden output results.
- Frames output_frames;
- const string output_file_path =
- file::JoinPath(TestDataPath(), "speech_asr_am_model_out.csv");
- ReadFrames(output_file_path, &output_frames);
-
- const int speech_batch_size =
- interpreter->tensor(kModelInputTensor)->dims->data[0];
- const int speech_input_size =
- interpreter->tensor(kModelInputTensor)->dims->data[1];
- const int speech_output_size =
- interpreter->tensor(kModelOutputTensor)->dims->data[1];
-
- float* input_ptr = interpreter->tensor(kModelInputTensor)->data.f;
- float* output_ptr = interpreter->tensor(kModelOutputTensor)->data.f;
-
- // Clear the LSTM state for layers.
- memset(interpreter->tensor(kLstmLayer1OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer1CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer2OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer2CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer3OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer3OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer3CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer3CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer4OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer4OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer4CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer4CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer5OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer5OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer5CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer5CellStateTensor)->bytes);
-
-
- for (int i = 0; i < input_frames.size(); i++) {
- // Feed the input to model.
- int frame_ptr = 0;
- for (int k = 0; k < speech_input_size * speech_batch_size; k++) {
- input_ptr[k] = input_frames[i][frame_ptr++];
- }
- // Run the model.
- interpreter->Invoke();
- // Validate the output.
- for (int k = 0; k < speech_output_size; k++) {
- ASSERT_NEAR(output_ptr[k], output_frames[i][k], 5.2e-4);
- }
- }
-}
-
-} // namespace models
-} // namespace tflite
diff --git a/tensorflow/contrib/lite/models/speech_asr_lm_model_test.cc b/tensorflow/contrib/lite/models/speech_asr_lm_model_test.cc
deleted file mode 100644
index 53f2b66da4..0000000000
--- a/tensorflow/contrib/lite/models/speech_asr_lm_model_test.cc
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-// Unit test for speech ASR LM model using TFLite Ops.
-
-#include <string.h>
-
-#include <memory>
-#include <string>
-
-#include "base/logging.h"
-#include "file/base/path.h"
-#include "testing/base/public/googletest.h"
-#include <gtest/gtest.h>
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/interpreter.h"
-#include "tensorflow/contrib/lite/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/models/test_utils.h"
-
-namespace tflite {
-namespace models {
-
-constexpr int kModelInput1Tensor = 0;
-constexpr int kModelInput2Tensor = 66;
-constexpr int kLstmLayer1OutputStateTensor = 21;
-constexpr int kLstmLayer1CellStateTensor = 22;
-constexpr int kLstmLayer2OutputStateTensor = 42;
-constexpr int kLstmLayer2CellStateTensor = 43;
-constexpr int kLstmLayer3OutputStateTensor = 63;
-constexpr int kLstmLayer3CellStateTensor = 64;
-constexpr int kModelOutputTensor = 75;
-
-static void ClearLstmStates(Interpreter* interpreter) {
- memset(interpreter->tensor(kLstmLayer1OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer1CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer2OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer2CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer3OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer3OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer3CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer3CellStateTensor)->bytes);
-}
-
-TEST(SpeechAsrLm, EndToEndTest) {
- // Read the model.
- string tflite_file_path =
- file::JoinPath(TestDataPath(), "speech_asr_lm_model.tflite");
- auto model = FlatBufferModel::BuildFromFile(tflite_file_path.c_str());
- CHECK(model) << "Failed to mmap model " << tflite_file_path;
-
- // Initialize the interpreter.
- ops::builtin::BuiltinOpResolver builtins;
- std::unique_ptr<Interpreter> interpreter;
- InterpreterBuilder(*model, builtins)(&interpreter);
- CHECK(interpreter != nullptr);
- interpreter->AllocateTensors();
-
- // Load the input frames.
- Frames input_frames;
- const string input_file_path =
- file::JoinPath(TestDataPath(), "speech_asr_lm_model_in.csv");
- ReadFrames(input_file_path, &input_frames);
-
- // Load the golden output results.
- Frames output_frames;
- const string output_file_path =
- file::JoinPath(TestDataPath(), "speech_asr_lm_model_out.csv");
- ReadFrames(output_file_path, &output_frames);
-
- CHECK_EQ(interpreter->tensor(kModelInput1Tensor)->dims->size, 1);
- const int input1_size =
- interpreter->tensor(kModelInput1Tensor)->dims->data[0];
- CHECK_EQ(input1_size, 1);
- CHECK_EQ(interpreter->tensor(kModelInput2Tensor)->dims->size, 1);
- const int output_size =
- interpreter->tensor(kModelOutputTensor)->dims->data[0];
- CHECK_EQ(output_size, 1);
-
- int* input_lookup_ptr = interpreter->tensor(kModelInput1Tensor)->data.i32;
- int* output_lookup_ptr = interpreter->tensor(kModelInput2Tensor)->data.i32;
- float* output_ptr = interpreter->tensor(kModelOutputTensor)->data.f;
-
-
- for (int i = 0; i < input_frames.size(); i++) {
- float output_score = 0.0f;
- // Reset LSTM states for each sequence.
- ClearLstmStates(interpreter.get());
- // For subsequent inputs feed them sequentially, one-by-one.
- for (int k = 1; k < input_frames[i].size(); k++) {
- // Feed the inputs to model.
- input_lookup_ptr[0] = static_cast<int32>(input_frames[i][k - 1]);
- output_lookup_ptr[0] = static_cast<int32>(input_frames[i][k]);
- // Run the model.
- interpreter->Invoke();
- // Sum up the outputs.
- output_score += output_ptr[0];
- }
- // Validate the output.
- ASSERT_NEAR(output_score, output_frames[i][0], 1.4e-5);
- }
-}
-
-} // namespace models
-} // namespace tflite
diff --git a/tensorflow/contrib/lite/models/speech_endpointer_model_test.cc b/tensorflow/contrib/lite/models/speech_endpointer_model_test.cc
deleted file mode 100644
index f7e136113a..0000000000
--- a/tensorflow/contrib/lite/models/speech_endpointer_model_test.cc
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-// Unit test for speech EndPointer model using TFLite Ops.
-
-#include <string.h>
-
-#include <memory>
-#include <string>
-
-#include "base/logging.h"
-#include "testing/base/public/googletest.h"
-#include <gtest/gtest.h>
-#include "absl/strings/str_cat.h"
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/interpreter.h"
-#include "tensorflow/contrib/lite/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/models/test_utils.h"
-
-namespace tflite {
-namespace models {
-
-constexpr int kModelInputTensor = 0;
-constexpr int kLstmLayer1OutputStateTensor = 28;
-constexpr int kLstmLayer1CellStateTensor = 29;
-constexpr int kLstmLayer2OutputStateTensor = 49;
-constexpr int kLstmLayer2CellStateTensor = 50;
-constexpr int kModelOutputTensor = 58;
-
-TEST(SpeechEndpointer, EndpointerTest) {
- // Read the model.
- string tflite_file_path =
- StrCat(TestDataPath(), "/", "speech_endpointer_model.tflite");
- auto model = FlatBufferModel::BuildFromFile(tflite_file_path.c_str());
- CHECK(model) << "Failed to read model from file " << tflite_file_path;
-
- // Initialize the interpreter.
- ops::builtin::BuiltinOpResolver builtins;
- std::unique_ptr<Interpreter> interpreter;
- InterpreterBuilder(*model, builtins)(&interpreter);
- CHECK(interpreter != nullptr);
- interpreter->AllocateTensors();
-
- // Load the input frames.
- Frames input_frames;
- const string input_file_path =
- StrCat(TestDataPath(), "/", "speech_endpointer_model_in.csv");
- ReadFrames(input_file_path, &input_frames);
-
- // Load the golden output results.
- Frames output_frames;
- const string output_file_path =
- StrCat(TestDataPath(), "/", "speech_endpointer_model_out.csv");
- ReadFrames(output_file_path, &output_frames);
-
- const int speech_batch_size =
- interpreter->tensor(kModelInputTensor)->dims->data[0];
- const int speech_input_size =
- interpreter->tensor(kModelInputTensor)->dims->data[1];
- const int speech_output_size =
- interpreter->tensor(kModelOutputTensor)->dims->data[1];
-
- float* input_ptr = interpreter->tensor(kModelInputTensor)->data.f;
- float* output_ptr = interpreter->tensor(kModelOutputTensor)->data.f;
-
- // Clear the LSTM state for layers.
- memset(interpreter->tensor(kLstmLayer1OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer1CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1CellStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer2OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer2CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2CellStateTensor)->bytes);
-
- for (int i = 0; i < input_frames.size(); i++) {
- // Feed the input to model.
- int frame_ptr = 0;
- for (int k = 0; k < speech_input_size * speech_batch_size; k++) {
- input_ptr[k] = input_frames[i][frame_ptr++];
- }
- // Run the model.
- interpreter->Invoke();
- // Validate the output.
- for (int k = 0; k < speech_output_size; k++) {
- ASSERT_NEAR(output_ptr[k], output_frames[i][k], 1e-5);
- }
- }
-}
-
-} // namespace models
-} // namespace tflite
diff --git a/tensorflow/contrib/lite/models/speech_hotword_model_test.cc b/tensorflow/contrib/lite/models/speech_hotword_model_test.cc
deleted file mode 100644
index f69cae8d2c..0000000000
--- a/tensorflow/contrib/lite/models/speech_hotword_model_test.cc
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-// Unit test for speech Hotword model using TFLite Ops.
-
-#include <string.h>
-
-#include <memory>
-#include <string>
-
-#include "base/logging.h"
-#include "testing/base/public/googletest.h"
-#include <gtest/gtest.h>
-#include "absl/strings/str_cat.h"
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/interpreter.h"
-#include "tensorflow/contrib/lite/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/models/test_utils.h"
-
-namespace tflite {
-namespace models {
-
-void RunTest(int model_input_tensor, int svdf_layer_state_tensor,
- int model_output_tensor, const string& model_name,
- const string& golden_in_name, const string& golden_out_name) {
- // Read the model.
- string tflite_file_path = StrCat(TestDataPath(), "/", model_name);
- auto model = FlatBufferModel::BuildFromFile(tflite_file_path.c_str());
- CHECK(model) << "Failed to read model from file " << tflite_file_path;
-
- // Initialize the interpreter.
- ops::builtin::BuiltinOpResolver builtins;
- std::unique_ptr<Interpreter> interpreter;
- InterpreterBuilder(*model, builtins)(&interpreter);
- CHECK(interpreter != nullptr);
- interpreter->AllocateTensors();
-
- // Reset the SVDF layer state.
- memset(interpreter->tensor(svdf_layer_state_tensor)->data.raw, 0,
- interpreter->tensor(svdf_layer_state_tensor)->bytes);
-
- // Load the input frames.
- Frames input_frames;
- const string input_file_path = StrCat(TestDataPath(), "/", golden_in_name);
- ReadFrames(input_file_path, &input_frames);
-
- // Load the golden output results.
- Frames output_frames;
- const string output_file_path = StrCat(TestDataPath(), "/", golden_out_name);
- ReadFrames(output_file_path, &output_frames);
-
- const int speech_batch_size =
- interpreter->tensor(model_input_tensor)->dims->data[0];
- const int speech_input_size =
- interpreter->tensor(model_input_tensor)->dims->data[1];
- const int speech_output_size =
- interpreter->tensor(model_output_tensor)->dims->data[1];
- const int input_sequence_size =
- input_frames[0].size() / (speech_input_size * speech_batch_size);
- float* input_ptr = interpreter->tensor(model_input_tensor)->data.f;
- float* output_ptr = interpreter->tensor(model_output_tensor)->data.f;
-
- // The first layer (SVDF) input size is 40 (speech_input_size). Each speech
- // input frames for this model is 1600 floats, which can be fed to input in a
- // sequence of size 40 (input_sequence_size).
- for (int i = 0; i < TestInputSize(input_frames); i++) {
- int frame_ptr = 0;
- for (int s = 0; s < input_sequence_size; s++) {
- for (int k = 0; k < speech_input_size * speech_batch_size; k++) {
- input_ptr[k] = input_frames[i][frame_ptr++];
- }
- interpreter->Invoke();
- }
- // After the whole frame (1280 floats) is fed, we can check the output frame
- // matches with the golden output frame.
- for (int k = 0; k < speech_output_size; k++) {
- ASSERT_NEAR(output_ptr[k], output_frames[i][k], 1e-5);
- }
- }
-}
-
-TEST(SpeechHotword, OkGoogleTestRank1) {
- constexpr int kModelInputTensor = 0;
- constexpr int kSvdfLayerStateTensor = 4;
- constexpr int kModelOutputTensor = 18;
-
- RunTest(kModelInputTensor, kSvdfLayerStateTensor, kModelOutputTensor,
- "speech_hotword_model_rank1.tflite", "speech_hotword_model_in.csv",
- "speech_hotword_model_out_rank1.csv");
-}
-
-TEST(SpeechHotword, OkGoogleTestRank2) {
- constexpr int kModelInputTensor = 17;
- constexpr int kSvdfLayerStateTensor = 1;
- constexpr int kModelOutputTensor = 18;
- RunTest(kModelInputTensor, kSvdfLayerStateTensor, kModelOutputTensor,
- "speech_hotword_model_rank2.tflite", "speech_hotword_model_in.csv",
- "speech_hotword_model_out_rank2.csv");
-}
-
-} // namespace models
-} // namespace tflite
diff --git a/tensorflow/contrib/lite/models/speech_speakerid_model_test.cc b/tensorflow/contrib/lite/models/speech_speakerid_model_test.cc
deleted file mode 100644
index e208fac8df..0000000000
--- a/tensorflow/contrib/lite/models/speech_speakerid_model_test.cc
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-// Unit test for speech SpeakerId model using TFLite Ops.
-
-#include <string.h>
-
-#include <memory>
-#include <string>
-
-#include "base/logging.h"
-#include "testing/base/public/googletest.h"
-#include <gtest/gtest.h>
-#include "absl/strings/str_cat.h"
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/interpreter.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/models/test_utils.h"
-#include "tensorflow/contrib/lite/tools/mutable_op_resolver.h"
-
-void RegisterSelectedOps(::tflite::MutableOpResolver* resolver);
-
-namespace tflite {
-namespace models {
-
-constexpr int kModelInputTensor = 0;
-constexpr int kLstmLayer1OutputStateTensor = 19;
-constexpr int kLstmLayer1CellStateTensor = 20;
-constexpr int kLstmLayer2OutputStateTensor = 40;
-constexpr int kLstmLayer2CellStateTensor = 41;
-constexpr int kLstmLayer3OutputStateTensor = 61;
-constexpr int kLstmLayer3CellStateTensor = 62;
-constexpr int kModelOutputTensor = 66;
-
-void SpeakerIdTest(bool useNNAPI) {
- // Read the model.
- string tflite_file_path =
- StrCat(TestDataPath(), "/", "speech_speakerid_model.tflite");
- auto model = FlatBufferModel::BuildFromFile(tflite_file_path.c_str());
- CHECK(model) << "Failed to read model from file " << tflite_file_path;
-
- // Initialize the interpreter.
- ::tflite::MutableOpResolver resolver;
- RegisterSelectedOps(&resolver);
- std::unique_ptr<Interpreter> interpreter;
- InterpreterBuilder(*model, resolver)(&interpreter);
- CHECK(interpreter != nullptr);
-
- interpreter->UseNNAPI(useNNAPI);
-
- interpreter->AllocateTensors();
-
- // Load the input frames.
- Frames input_frames;
- const string input_file_path =
- StrCat(TestDataPath(), "/", "speech_speakerid_model_in.csv");
- ReadFrames(input_file_path, &input_frames);
-
- // Load the golden output results.
- Frames output_frames;
- const string output_file_path =
- StrCat(TestDataPath(), "/", "speech_speakerid_model_out.csv");
- ReadFrames(output_file_path, &output_frames);
-
- const int speech_batch_size =
- interpreter->tensor(kModelInputTensor)->dims->data[0];
- const int speech_input_size =
- interpreter->tensor(kModelInputTensor)->dims->data[1];
- const int speech_output_size =
- interpreter->tensor(kModelOutputTensor)->dims->data[1];
-
- float* input_ptr = interpreter->tensor(kModelInputTensor)->data.f;
- float* output_ptr = interpreter->tensor(kModelOutputTensor)->data.f;
-
- // Clear the LSTM state for layers.
- memset(interpreter->tensor(kLstmLayer1OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer1CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer2OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer2CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer3OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer3OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer3CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer3CellStateTensor)->bytes);
- for (int i = 0; i < input_frames.size(); i++) {
- // Feed the input to model.
- int frame_ptr = 0;
- for (int k = 0; k < speech_input_size * speech_batch_size; k++) {
- input_ptr[k] = input_frames[i][frame_ptr++];
- }
- // Run the model.
- interpreter->Invoke();
- // Validate the output.
- for (int k = 0; k < speech_output_size; k++) {
- ASSERT_NEAR(output_ptr[k], output_frames[i][k], 1e-5);
- }
- }
-}
-
-TEST(SpeechSpeakerId, OkGoogleTest) { SpeakerIdTest(false); }
-
-TEST(SpeechSpeakerId, OkGoogleTestUsingNNAPI) { SpeakerIdTest(true); }
-
-} // namespace models
-} // namespace tflite
diff --git a/tensorflow/contrib/lite/models/speech_tts_model_test.cc b/tensorflow/contrib/lite/models/speech_tts_model_test.cc
deleted file mode 100644
index 8829177689..0000000000
--- a/tensorflow/contrib/lite/models/speech_tts_model_test.cc
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-// Unit test for speech TTS model using TFLite Ops.
-
-#include <string.h>
-
-#include <memory>
-#include <string>
-
-#include "base/logging.h"
-#include "testing/base/public/googletest.h"
-#include <gtest/gtest.h>
-#include "absl/strings/str_cat.h"
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/interpreter.h"
-#include "tensorflow/contrib/lite/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/models/test_utils.h"
-
-namespace tflite {
-namespace models {
-
-constexpr int kModelInputTensor = 0;
-constexpr int kLstmLayer1OutputStateTensor = 25;
-constexpr int kLstmLayer1CellStateTensor = 26;
-constexpr int kLstmLayer2OutputStateTensor = 46;
-constexpr int kLstmLayer2CellStateTensor = 47;
-constexpr int kLstmLayer3OutputStateTensor = 67;
-constexpr int kLstmLayer3CellStateTensor = 68;
-constexpr int kRnnLayerHiddenStateTensor = 73;
-constexpr int kModelOutputTensor = 74;
-
-TEST(SpeechTTS, RandomIOTest) {
- // Read the model.
- string tflite_file_path =
- StrCat(TestDataPath(), "/", "speech_tts_model.tflite");
- auto model = FlatBufferModel::BuildFromFile(tflite_file_path.c_str());
- CHECK(model) << "Failed to mmap model " << tflite_file_path;
-
- // Initialize the interpreter.
- ops::builtin::BuiltinOpResolver builtins;
- std::unique_ptr<Interpreter> interpreter;
- InterpreterBuilder(*model, builtins)(&interpreter);
- CHECK(interpreter != nullptr);
- interpreter->AllocateTensors();
-
- // Load the input frames.
- Frames input_frames;
- const string input_file_path =
- StrCat(TestDataPath(), "/", "speech_tts_model_in.csv");
- ReadFrames(input_file_path, &input_frames);
-
- // Load the golden output results.
- Frames output_frames;
- const string output_file_path =
- StrCat(TestDataPath(), "/", "speech_tts_model_out.csv");
- ReadFrames(output_file_path, &output_frames);
-
- const int speech_batch_size =
- interpreter->tensor(kModelInputTensor)->dims->data[0];
- const int speech_input_size =
- interpreter->tensor(kModelInputTensor)->dims->data[1];
- const int speech_output_size =
- interpreter->tensor(kModelOutputTensor)->dims->data[1];
-
- float* input_ptr = interpreter->tensor(kModelInputTensor)->data.f;
- float* output_ptr = interpreter->tensor(kModelOutputTensor)->data.f;
-
- // Clear the LSTM state for layers.
- memset(interpreter->tensor(kLstmLayer1OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer1CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer1CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer2OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer2CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer2CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kLstmLayer3OutputStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer3OutputStateTensor)->bytes);
- memset(interpreter->tensor(kLstmLayer3CellStateTensor)->data.raw, 0,
- interpreter->tensor(kLstmLayer3CellStateTensor)->bytes);
-
- memset(interpreter->tensor(kRnnLayerHiddenStateTensor)->data.raw, 0,
- interpreter->tensor(kRnnLayerHiddenStateTensor)->bytes);
-
- for (int i = 0; i < input_frames.size(); i++) {
- // Feed the input to model.
- int frame_ptr = 0;
- for (int k = 0; k < speech_input_size * speech_batch_size; k++) {
- input_ptr[k] = input_frames[i][frame_ptr++];
- }
- // Run the model.
- interpreter->Invoke();
- // Validate the output.
- for (int k = 0; k < speech_output_size; k++) {
- ASSERT_NEAR(output_ptr[k], output_frames[i][k], 1e-5);
- }
- }
-}
-
-} // namespace models
-} // namespace tflite
diff --git a/tensorflow/contrib/lite/models/test_utils.h b/tensorflow/contrib/lite/models/test_utils.h
deleted file mode 100644
index 1e14c26a35..0000000000
--- a/tensorflow/contrib/lite/models/test_utils.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-#ifndef THIRD_PARTY_TENSORFLOW_CONTRIB_LITE_MODELS_TEST_UTILS_H_
-#define THIRD_PARTY_TENSORFLOW_CONTRIB_LITE_MODELS_TEST_UTILS_H_
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <fstream>
-#include <memory>
-#include <string>
-#include <vector>
-
-namespace tflite {
-namespace models {
-using Frames = std::vector<std::vector<float>>;
-} // namespace models
-} // namespace tflite
-
-#ifndef __ANDROID__
-#include "absl/strings/str_cat.h"
-#include "tensorflow/core/platform/test.h"
-
-inline string TestDataPath() {
- return string(StrCat(tensorflow::testing::TensorFlowSrcRoot(), "/",
- "contrib/lite/models/testdata/"));
-}
-inline int TestInputSize(const tflite::models::Frames& input_frames) {
- return input_frames.size();
-}
-#else
-inline string TestDataPath() {
- return string("third_party/tensorflow/contrib/lite/models/testdata/");
-}
-
-inline int TestInputSize(const tflite::models::Frames& input_frames) {
- // Android TAP is very slow, we only test the first 20 frames.
- return 20;
-}
-#endif
-
-namespace tflite {
-namespace models {
-
-// Read float data from a comma-separated file:
-// Each line will be read into a float vector.
-// The return result will be a vector of float vectors.
-void ReadFrames(const string& csv_file_path, Frames* frames) {
- std::ifstream csv_file(csv_file_path);
- string line;
- while (std::getline(csv_file, line, '\n')) {
- std::vector<float> fields;
- // Used by strtok_r internaly for successive calls on the same string.
- char* save_ptr = nullptr;
-
- // Tokenize the line.
- char* next_token =
- strtok_r(const_cast<char*>(line.c_str()), ",", &save_ptr);
- while (next_token != nullptr) {
- float f = strtod(next_token, nullptr);
- fields.push_back(f);
- next_token = strtok_r(nullptr, ",", &save_ptr);
- }
- frames->push_back(fields);
- }
- csv_file.close();
-}
-
-} // namespace models
-} // namespace tflite
-
-#endif // THIRD_PARTY_TENSORFLOW_CONTRIB_LITE_MODELS_TEST_UTILS_H_