OPTIONS?=
GENERATE_NNAPI_TESTS?=1
TFLITE_MAJOR_VER?=1
-TFLITE_MINOR_VER?=12
+TFLITE_MINOR_VER?=13
# make TARGET and TYPE to lowercase
HOST_ARCH_LC=$(shell echo $(HOST_ARCH) | tr A-Z a-z)
# NOTE The following URL comes from TensorFlow 1.12
envoption(EXTERNAL_DOWNLOAD_SERVER "https://github.com")
- set(ABSL_URL ${EXTERNAL_DOWNLOAD_SERVER}/abseil/abseil-cpp/archive/48cd2c3f351ff188bc85684b84a91b6e6d17d896.tar.gz)
+ set(ABSL_URL ${EXTERNAL_DOWNLOAD_SERVER}/abseil/abseil-cpp/archive/389ec3f906f018661a5308458d623d01f96d7b23.tar.gz)
ExternalSource_Get("absl" ${DOWNLOAD_ABSL} ${ABSL_URL})
set(AbslSource_DIR ${absl_SOURCE_DIR} PARENT_SCOPE)
# NOTE TensorFlow 1.12 downloads Eign from the following URL
envoption(EXTERNAL_DOWNLOAD_SERVER "https://bitbucket.org")
- set(EIGEN_URL ${EXTERNAL_DOWNLOAD_SERVER}/eigen/eigen/get/fd6845384b86.tar.gz)
+ set(EIGEN_URL ${EXTERNAL_DOWNLOAD_SERVER}/eigen/eigen/get/88fc23324517.tar.gz)
ExternalSource_Get("eigen" ${DOWNLOAD_EIGEN} ${EIGEN_URL})
set(EigenSource_DIR ${eigen_SOURCE_DIR} PARENT_SCOPE)
-set(TENSORFLOW_LITE_BASE ${TensorFlowSource_DIR}/tensorflow/contrib/lite)
+set(TENSORFLOW_LITE_BASE ${TensorFlowSource_DIR}/tensorflow/lite)
#
# Tensorflow Lite library
#
-file(GLOB TFLITE_CORE_SRCS "${TENSORFLOW_LITE_BASE}/*.c" "${TENSORFLOW_LITE_BASE}/*.cc")
+file(GLOB TFLITE_CORE_SRCS "${TENSORFLOW_LITE_BASE}/*.c" "${TENSORFLOW_LITE_BASE}/*.cc" "${TENSORFLOW_LITE_BASE}/core/*.cc")
file(GLOB TFLITE_CORE_TESTS "${TENSORFLOW_LITE_BASE}/*test*.cc")
list(REMOVE_ITEM TFLITE_CORE_SRCS ${TFLITE_CORE_TESTS})
endif(BUILD_TENSORFLOW_LITE)
# Use pre-built TensorFlow Lite
-find_path(TFLITE_INCLUDE_DIR NAMES tensorflow/contrib/lite/interpreter.h)
+find_path(TFLITE_INCLUDE_DIR NAMES tensorflow/lite/interpreter.h)
find_library(TFLITE_LIB NAMES tensorflow-lite)
if(NOT TFLITE_INCLUDE_DIR)
nnfw_include(OptionTools)
envoption(EXTERNAL_DOWNLOAD_SERVER "https://github.com")
- set(TENSORFLOW_URL ${EXTERNAL_DOWNLOAD_SERVER}/tensorflow/tensorflow/archive/v1.12.0.tar.gz)
+ set(TENSORFLOW_URL ${EXTERNAL_DOWNLOAD_SERVER}/tensorflow/tensorflow/archive/v1.13.1.tar.gz)
ExternalSource_Get("tensorflow" ${DOWNLOAD_TENSORFLOW} ${TENSORFLOW_URL})
set(TensorFlowSource_DIR ${tensorflow_SOURCE_DIR} PARENT_SCOPE)
set(NSYNC_ARCH "default")
endif(NOT DEFINED NSYNC_ARCH)
- set(TENSROFLOW_MAKEFILE_DIR "${TENSORFLOW_DIR}/tensorflow/contrib/makefile")
+ set(TENSROFLOW_MAKEFILE_DIR "${TENSORFLOW_DIR}/tensorflow/makefile")
set(TENSORFLOW_GEN_DIR "${TENSROFLOW_MAKEFILE_DIR}/gen")
set(TENSORFLOW_DOWNLOADS_DIR "${TENSROFLOW_MAKEFILE_DIR}/downloads")
#ifndef _TFLITE_NATIVEWRAPPER_H_
#define _TFLITE_NATIVEWRAPPER_H_
-#include "tensorflow/contrib/lite/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/string_util.h"
-#include "tensorflow/contrib/lite/tools/mutable_op_resolver.h"
+#include "tensorflow/lite/kernels/register.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/string_util.h"
+#include "tensorflow/lite/tools/mutable_op_resolver.h"
#ifdef __cplusplus
extern "C" {
*/
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include <iostream>
#define __TFLITE_CLASSIFY_INFERENCE_INTERFACE_H__
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
+#include "tensorflow/lite/model.h"
#include "tflite/InterpreterSession.h"
#include "tflite/NNAPISession.h"
* limitations under the License.
*/
-#include <tensorflow/contrib/lite/model.h>
+#include <tensorflow/lite/model.h>
#include <tensorflow/core/public/session.h>
#include "tflite/Assert.h"
You can select one of kernel register: tensorflow lite official kernel register or extended register (for pre-implemented custom op)
```
-#include "tensorflow/contrib/lite/kernels/register.h"
+#include "tensorflow/lite/kernels/register.h"
#include "tflite/ext/kernels/register.h"
```
// clang-format off
// NOTE This header is derived from the following file (in TensorFlow v1.12)
-// 'externals/tensorflow/tensorflow/contrib/lite/profiling/profile_buffer.h
+// 'externals/tensorflow/tensorflow/lite/profiling/profile_buffer.h
#ifndef TENSORFLOW_CONTRIB_LITE_PROFILING_PROFILE_BUFFER_H_
#define TENSORFLOW_CONTRIB_LITE_PROFILING_PROFILE_BUFFER_H_
// clang-format off
// NOTE This header is derived from the following file (in TensorFlow v1.12)
-// 'externals/tensorflow/tensorflow/contrib/lite/profiling/profiler.h
+// 'externals/tensorflow/tensorflow/lite/profiling/profiler.h
#ifndef TENSORFLOW_CONTRIB_LITE_PROFILING_PROFILER_H_
#define TENSORFLOW_CONTRIB_LITE_PROFILING_PROFILER_H_
// clang-format off
// NOTE This header is derived from the following file (in TensorFlow v1.12)
-// 'externals/tensorflow/tensorflow/contrib/lite/profiling/time.h
+// 'externals/tensorflow/tensorflow/lite/profiling/time.h
#ifndef TENSORFLOW_CONTRIB_LITE_PROFILING_TIME_H_
#define TENSORFLOW_CONTRIB_LITE_PROFILING_TIME_H_
// clang-format off
// NOTE This header is derived from the following file (in TensorFlow v1.12)
-// 'externals/tensorflow/tensorflow/contrib/lite/profiling/time.cpp
+// 'externals/tensorflow/tensorflow/lite/profiling/time.cpp
#include "profiling/time.h"
#if defined(_MSC_VER)
#ifndef __NNFW_TFLITE_ASSERT_H__
#define __NNFW_TFLITE_ASSERT_H__
-#include "tensorflow/contrib/lite/context.h"
+#include "tensorflow/lite/context.h"
#include <sstream>
#ifndef __NNFW_TFLITE_DIFF_H__
#define __NNFW_TFLITE_DIFF_H__
-#include "tensorflow/contrib/lite/interpreter.h"
+#include "tensorflow/lite/interpreter.h"
#include "misc/tensor/Index.h"
#include "misc/tensor/Diff.h"
#ifndef __NNFW_TFLITE_FEATURE_VIEW_H__
#define __NNFW_TFLITE_FEATURE_VIEW_H__
-#include "tensorflow/contrib/lite/interpreter.h"
+#include "tensorflow/lite/interpreter.h"
#include "tflite/InputIndex.h"
#include "tflite/OutputIndex.h"
static const float FLOAT_NEAREST_TO_1 = BitwiseIntToFloat{0x3f7fffff}.f;
-#include "tensorflow/contrib/lite/context.h"
+#include "tensorflow/lite/context.h"
/**
* @brief Get TfLiteQuantizationParams object with default values
#ifndef __NNFW_TFLITE_SESSION_H__
#define __NNFW_TFLITE_SESSION_H__
-#include <tensorflow/contrib/lite/interpreter.h>
+#include <tensorflow/lite/interpreter.h>
namespace nnfw
{
#include "misc/tensor/IndexIterator.h"
#include "tflite/TensorView.h"
-#include <tensorflow/contrib/lite/interpreter.h>
-#include <tensorflow/contrib/lite/context.h>
+#include <tensorflow/lite/interpreter.h>
+#include <tensorflow/lite/context.h>
#include <fstream>
#include <iomanip>
#ifndef __NNFW_TFLITE_TENSOR_UTILS_H__
#define __NNFW_TFLITE_TENSOR_UTILS_H__
-#include <tensorflow/contrib/lite/context.h>
+#include <tensorflow/lite/context.h>
namespace nnfw
{
#ifndef __NNFW_TFLITE_TENSOR_VIEW_H__
#define __NNFW_TFLITE_TENSOR_VIEW_H__
-#include "tensorflow/contrib/lite/interpreter.h"
+#include "tensorflow/lite/interpreter.h"
#include "misc/tensor/Shape.h"
#include "misc/tensor/Index.h"
#ifndef __NNFW_TFLITE_EXT_KERNELS_ABS_H__
#define __NNFW_TFLITE_EXT_KERNELS_ABS_H__
-#include "tensorflow/contrib/lite/context.h"
+#include "tensorflow/lite/context.h"
namespace nnfw
{
#ifndef __NNFW_TFLITE_EXT_KERNELS_CUSTOM_OP_H__
#define __NNFW_TFLITE_EXT_KERNELS_CUSTOM_OP_H__
-#include "tensorflow/contrib/lite/context.h"
+#include "tensorflow/lite/context.h"
#include "tflite/ext/kernels/TensorFlowMax.h"
#include "tflite/ext/kernels/SquaredDifference.h"
#include "tflite/ext/kernels/TensorFlowSum.h"
#ifndef __NNFW_TFLITE_EXT_KERNELS_SQUARED_DIFFERENCE_H__
#define __NNFW_TFLITE_EXT_KERNELS_SQUARED_DIFFERENCE_H__
-#include "tensorflow/contrib/lite/context.h"
+#include "tensorflow/lite/context.h"
namespace nnfw
{
#ifndef __NNFW_TFLITE_EXT_KERNELS_TENSORFLOW_MAX_H__
#define __NNFW_TFLITE_EXT_KERNELS_TENSORFLOW_MAX_H__
-#include "tensorflow/contrib/lite/context.h"
+#include "tensorflow/lite/context.h"
namespace nnfw
{
#ifndef __NNFW_TFLITE_EXT_KERNELS_TENSORFLOW_SUM_H__
#define __NNFW_TFLITE_EXT_KERNELS_TENSORFLOW_SUM_H__
-#include "tensorflow/contrib/lite/context.h"
+#include "tensorflow/lite/context.h"
namespace nnfw
{
// clang-format off
// NOTE This header is derived from the following file (in TensorFlow)
-// 'externals/tensorflow/tensorflow/contrib/lite/kernels/register.h'
+// 'externals/tensorflow/tensorflow/lite/kernels/register.h'
#ifndef __NNFW_TFLITE_EXT_KERNELS_REGISTER_H__
#define __NNFW_TFLITE_EXT_KERNELS_REGISTER_H__
#include <unordered_map>
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/model.h"
+#include "tensorflow/lite/context.h"
+#include "tensorflow/lite/model.h"
namespace nnfw {
namespace tflite {
// clang-format off
// NOTE This header is derived from the following file (in TensorFlow v1.12)
-// 'externals/tensorflow/tensorflow/contrib/lite/nnapi_delegate.h'
+// 'externals/tensorflow/tensorflow/lite/nnapi_delegate.h'
#ifndef __NNFW_TFLITE_EXT_NNAPI_DELEGATE_H__
#define __NNFW_TFLITE_EXT_NNAPI_DELEGATE_H__
-#include "tensorflow/contrib/lite/allocation.h"
+#include "tensorflow/lite/allocation.h"
#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 9
-#include "tensorflow/contrib/lite/context.h"
-#include "tensorflow/contrib/lite/error_reporter.h"
+#include "tensorflow/lite/context.h"
+#include "tensorflow/lite/error_reporter.h"
#else
-#include "tensorflow/contrib/lite/c/c_api_internal.h"
-#include "tensorflow/contrib/lite/core/api/error_reporter.h"
+#include "tensorflow/lite/c/c_api_internal.h"
+#include "tensorflow/lite/core/api/error_reporter.h"
#endif
-#include "tensorflow/contrib/lite/interpreter.h"
+#include "tensorflow/lite/interpreter.h"
struct ANeuralNetworksModel;
struct ANeuralNetworksMemory;
#ifndef __NNFW_TFLITE_INTERP_BUILDER_H__
#define __NNFW_TFLITE_INTERP_BUILDER_H__
-#include <tensorflow/contrib/lite/interpreter.h>
+#include <tensorflow/lite/interpreter.h>
namespace nnfw
{
#ifndef __NNFW_TFLITE_INTERP_FLAT_BUFFER_BUILDER_H__
#define __NNFW_TFLITE_INTERP_FLAT_BUFFER_BUILDER_H__
-#include <tensorflow/contrib/lite/model.h>
+#include <tensorflow/lite/model.h>
#include "tflite/interp/Builder.h"
#ifndef __NNFW_TFLITE_INTERP_FUNCTION_BUILDER_H__
#define __NNFW_TFLITE_INTERP_FUNCTION_BUILDER_H__
-#include <tensorflow/contrib/lite/model.h>
+#include <tensorflow/lite/model.h>
#include "tflite/interp/Builder.h"
*/
#include "tflite/ext/kernels/Abs.h"
-#include "tensorflow/contrib/lite/kernels/kernel_util.h"
+#include "tensorflow/lite/kernels/kernel_util.h"
#include <iostream>
#include <cmath>
*/
#include "tflite/ext/kernels/SquaredDifference.h"
-#include "tensorflow/contrib/lite/kernels/kernel_util.h"
+#include "tensorflow/lite/kernels/kernel_util.h"
#include <iostream>
*/
#include "tflite/ext/kernels/TensorFlowMax.h"
-#include "tensorflow/contrib/lite/kernels/kernel_util.h"
+#include "tensorflow/lite/kernels/kernel_util.h"
#include <iostream>
*/
#include "tflite/ext/kernels/TensorFlowSum.h"
-#include "tensorflow/contrib/lite/kernels/kernel_util.h"
+#include "tensorflow/lite/kernels/kernel_util.h"
#include <iostream>
// clang-format off
// NOTE This code is derived from the following file (in TensorFlow)
-// 'externals/tensorflow/tensorflow/contrib/lite/kernels/register.cc'
+// 'externals/tensorflow/tensorflow/lite/kernels/register.cc'
#include "tflite/ext/kernels/register.h"
#include "tflite/ext/kernels/CustomOps.h"
TfLiteRegistration *Register_SIN();
TfLiteRegistration *Register_TRANSPOSE_CONV();
TfLiteRegistration *Register_SPARSE_TO_DENSE();
-#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
+#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 13
TfLiteRegistration *Register_SUM();
TfLiteRegistration *Register_REDUCE_MAX();
TfLiteRegistration *Register_REDUCE_MIN();
TfLiteRegistration *Register_FLOOR_DIV();
TfLiteRegistration *Register_SQUARE();
TfLiteRegistration *Register_ZEROS_LIKE();
+TfLiteRegistration* Register_FLOOR_MOD();
+TfLiteRegistration* Register_RANGE();
+TfLiteRegistration* Register_LEAKY_RELU();
+TfLiteRegistration* Register_SQUARED_DIFFERENCE();
+TfLiteRegistration* Register_FILL();
+TfLiteRegistration* Register_MIRROR_PAD();
#endif // TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
} // namespace builtin
AddBuiltin(BuiltinOperator_SELECT, Register_SELECT());
AddBuiltin(BuiltinOperator_SLICE, Register_SLICE());
AddBuiltin(BuiltinOperator_SIN, Register_SIN());
-#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
+#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 13
AddBuiltin(BuiltinOperator_SUM, Register_SUM());
AddBuiltin(BuiltinOperator_REDUCE_MAX, Register_REDUCE_MAX());
AddBuiltin(BuiltinOperator_REDUCE_MIN, Register_REDUCE_MIN());
AddBuiltin(BuiltinOperator_FLOOR_DIV, Register_FLOOR_DIV());
AddBuiltin(BuiltinOperator_SQUARE, Register_SQUARE());
AddBuiltin(BuiltinOperator_ZEROS_LIKE, Register_ZEROS_LIKE());
-#endif // TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
+ AddBuiltin(BuiltinOperator_FLOOR_MOD, Register_FLOOR_MOD());
+ AddBuiltin(BuiltinOperator_RANGE, Register_RANGE());
+ AddBuiltin(BuiltinOperator_LEAKY_RELU, Register_LEAKY_RELU());
+ AddBuiltin(BuiltinOperator_SQUARED_DIFFERENCE, Register_SQUARED_DIFFERENCE());
+ AddBuiltin(BuiltinOperator_FILL, Register_FILL());
+ AddBuiltin(BuiltinOperator_MIRROR_PAD, Register_MIRROR_PAD());
+#endif // TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 13
AddCustom("TensorFlowMax", nnfw::tflite::custom::Register_TensorFlowMax());
AddCustom("SquaredDifference", nnfw::tflite::custom::Register_SquaredDifference());
// clang-format off
// NOTE This code is derived from the following file (in TensorFlow v1.12)
-// 'externals/tensorflow/tensorflow/contrib/lite/nnapi_delegate.cc'
+// 'externals/tensorflow/tensorflow/lite/nnapi_delegate.cc'
#include "tflite/ext/nnapi_delegate.h"
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 9
-#include "tensorflow/contrib/lite/builtin_op_data.h"
-#include "tensorflow/contrib/lite/error_reporter.h"
+#include "tensorflow/lite/builtin_op_data.h"
+#include "tensorflow/lite/error_reporter.h"
#else
-#include "tensorflow/contrib/lite/c/builtin_op_data.h"
-#include "tensorflow/contrib/lite/core/api/error_reporter.h"
+#include "tensorflow/lite/c/builtin_op_data.h"
+#include "tensorflow/lite/core/api/error_reporter.h"
#endif
-#include "tensorflow/contrib/lite/model.h"
+#include "tensorflow/lite/model.h"
#include <rua/Shim.h>
#include "NeuralNetworksExShim.h"
augmented_inputs.data(), static_cast<uint32_t>(node.outputs->size),
reinterpret_cast<uint32_t*>(node.outputs->data)));
continue;
-#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
+#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 13
case tflite::BuiltinOperator_PACK:
add_pack_ex_params(node.builtin_data);
CHECK_NN(ANeuralNetworksModel_addOperationEx(
//case tflite::BuiltinOperator_PRELU:
case tflite::BuiltinOperator_MAXIMUM:
case tflite::BuiltinOperator_MINIMUM:
-#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
+#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 13
case tflite::BuiltinOperator_ARG_MIN:
#endif
case tflite::BuiltinOperator_GREATER:
case tflite::BuiltinOperator_SELECT:
case tflite::BuiltinOperator_SLICE:
case tflite::BuiltinOperator_SIN:
-#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
+#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 13
case tflite::BuiltinOperator_LOG:
#endif
//case tflite::BuiltinOperator_TRANSPOSE_CONV:
-#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
+#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 13
case tflite::BuiltinOperator_TILE:
case tflite::BuiltinOperator_EXPAND_DIMS:
case tflite::BuiltinOperator_SPARSE_TO_DENSE:
}
};
-#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 12
+#if TFLITE_MAJOR_VER == 1 && TFLITE_MINOR_VER == 13
auto add_pack_ex_params = [&add_scalar_int32](void* data) {
auto builtin = reinterpret_cast<TfLitePackParams*>(data);
add_scalar_int32(builtin->values_count);
*/
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
+#include "tensorflow/lite/model.h"
#include "tflite/interp/FlatBufferBuilder.h"
#include "tflite/Diff.h"
*/
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
+#include "tensorflow/lite/model.h"
#include "tflite/Assert.h"
#include "tflite/Session.h"
file(GLOB_RECURSE SOURCES "*.cc")
nnfw_find_package(TensorFlowSource REQUIRED)
-set(TENSORFLOW_LITE_BASE "${TensorFlowSource_DIR}/tensorflow/contrib/lite")
+set(TENSORFLOW_LITE_BASE "${TensorFlowSource_DIR}/tensorflow/lite")
list(APPEND SOURCES "${TENSORFLOW_LITE_BASE}/tools/benchmark/benchmark_main.cc"
"${TENSORFLOW_LITE_BASE}/tools/benchmark/benchmark_model.cc"
"${TENSORFLOW_LITE_BASE}/tools/benchmark/benchmark_params.cc"
The instructions below are for running the binary on Desktop and Android,
for iOS please use the
-[iOS benchmark app](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite/tools/benchmark/ios).
+[iOS benchmark app](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/tools/benchmark/ios).
## Parameters
bazel build -c opt \
--config=android_arm \
--cxxopt='--std=c++11' \
- tensorflow/contrib/lite/tools/benchmark:benchmark_model
+ tensorflow/lite/tools/benchmark:benchmark_model
```
(2) Connect your phone. Push the binary to your phone with adb push
(make the directory if required):
```
-adb push bazel-bin/tensorflow/contrib/lite/tools/benchmark/benchmark_model /data/local/tmp
+adb push bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model /data/local/tmp
```
(3) Make the binary executable.
(1) build the binary
```
-bazel build -c opt tensorflow/contrib/lite/tools/benchmark:benchmark_model
+bazel build -c opt tensorflow/lite/tools/benchmark:benchmark_model
```
(2) Run on your compute graph, similar to the Android case but without the need of adb shell.
For example:
```
-bazel-bin/tensorflow/contrib/lite/tools/benchmark/benchmark_model \
+bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model \
--graph=mobilenet_quant_v1_224.tflite \
--num_threads=4
```
--config=android_arm \
--cxxopt='--std=c++11' \
--copt=-DTFLITE_PROFILING_ENABLED \
- tensorflow/contrib/lite/tools/benchmark:benchmark_model
+ tensorflow/lite/tools/benchmark:benchmark_model
```
This compiles TFLite with profiling enabled, now you can run the benchmark binary like before. The binary will produce detailed statistics for each operation similar to those shown below:
limitations under the License.
==============================================================================*/
-#include "tensorflow/contrib/lite/tools/benchmark/benchmark_tflite_model.h"
+#include "tensorflow/lite/tools/benchmark/benchmark_tflite_model.h"
#include <cstdarg>
#include <cstdlib>
#include <vector>
#ifdef TFLITE_FLEX
-#include "tensorflow/contrib/lite/delegates/flex/delegate.h"
+#include "tensorflow/lite/delegates/flex/delegate.h"
#endif // TFLITE_FLEX
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/op_resolver.h"
-#include "tensorflow/contrib/lite/string_util.h"
-#include "tensorflow/contrib/lite/tools/benchmark/logging.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/op_resolver.h"
+#include "tensorflow/lite/string_util.h"
+#include "tensorflow/lite/tools/benchmark/logging.h"
// For profiling nnapi_delegate
#include "profiling/profiling.h"
limitations under the License.
==============================================================================*/
-#include "tensorflow/contrib/lite/profiling/profile_summarizer.h"
+#include "tensorflow/lite/profiling/profile_summarizer.h"
#include <sstream>
-#include "tensorflow/contrib/lite/schema/schema_generated.h"
+#include "tensorflow/lite/schema/schema_generated.h"
namespace tflite {
namespace profiling {
#include <string>
#include <vector>
-#include "tensorflow/contrib/lite/context.h"
+#include "tensorflow/lite/context.h"
class BinImage
{
#include <iostream>
#include <cstring>
-#include "tensorflow/contrib/lite/interpreter.h"
+#include "tensorflow/lite/interpreter.h"
namespace TFLiteRun
{
*/
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
+#include "tensorflow/lite/model.h"
#include "args.h"
#include "tensor_dumper.h"
TFLITE_FILENAME=${TFLITE_FILE##*\/}
TFLITE_JSON=${TFLITE_FILENAME%\.tflite}.json
-$FLATC --json --strict-json $ROOT_PATH/externals/tensorflow/tensorflow/contrib/lite/schema/schema.fbs -- $TFLITE_FILE
+$FLATC --json --strict-json $ROOT_PATH/externals/tensorflow/tensorflow/lite/schema/schema.fbs -- $TFLITE_FILE
$SCRIPT_PATH/extract.py $TFLITE_JSON
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "misc/environment.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "misc/environment.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
*/
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
*/
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
*/
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include "gtest/gtest.h"
#include "tflite/ext/kernels/register.h"
-#include "tensorflow/contrib/lite/model.h"
-#include "tensorflow/contrib/lite/builtin_op_data.h"
+#include "tensorflow/lite/model.h"
+#include "tensorflow/lite/builtin_op_data.h"
#include "env.h"
#include "memory.h"
#include <cstdint>
#include <signal.h>
-#include <tensorflow/contrib/lite/context.h>
-#include <tensorflow/contrib/lite/interpreter.h>
-#include <tensorflow/contrib/lite/model.h>
+#include <tensorflow/lite/context.h>
+#include <tensorflow/lite/interpreter.h>
+#include <tensorflow/lite/model.h>
#include "labels.h"
#include "tflite/ext/nnapi_delegate.h"
--output_arrays="$OUTPUT" \
--allow_custom_ops=true
else
- bazel run tensorflow/contrib/lite/python:tflite_convert -- \
+ bazel run tensorflow/lite/python:tflite_convert -- \
--output_file="${NAME_LIST[$i]}" \
--graph_def_file="$GRAPHDEF_PATH" \
--input_arrays="$INPUT" \