From df9af35a1ac474c167cbca83d9603206bde26cd4 Mon Sep 17 00:00:00 2001 From: Jared Duke Date: Fri, 3 May 2019 11:50:39 -0700 Subject: [PATCH] Add GPU delegate options to Java wrapper Expose precision, object and batching options in the Java GPU delegate wrapper. PiperOrigin-RevId: 246547702 --- tensorflow/lite/delegates/gpu/gl_delegate.h | 2 + .../org/tensorflow/lite/gpu/GpuDelegate.java | 87 +++- .../java/src/main/native/gpu_delegate_jni.cc | 12 +- .../java/src/main/native/gpu_delegate_jni.h | 5 +- tensorflow/opensource_only.files | 486 +++++++++--------- 5 files changed, 340 insertions(+), 252 deletions(-) diff --git a/tensorflow/lite/delegates/gpu/gl_delegate.h b/tensorflow/lite/delegates/gpu/gl_delegate.h index 97441deebce..aa78e1b9804 100644 --- a/tensorflow/lite/delegates/gpu/gl_delegate.h +++ b/tensorflow/lite/delegates/gpu/gl_delegate.h @@ -39,6 +39,7 @@ limitations under the License. extern "C" { #endif // __cplusplus +// LINT.IfChange enum TfLiteGlObjectType { TFLITE_GL_OBJECT_TYPE_FASTEST = 0, TFLITE_GL_OBJECT_TYPE_TEXTURE = 1, @@ -74,6 +75,7 @@ struct TFL_CAPI_EXPORT TfLiteGpuDelegateOptions { const uint8_t* metadata; // Internal. TfLiteGlCompileOptions compile_options; }; +// LINT.ThenChange(//tensorflow/lite/delegates/gpu/java/src/main/java/org/tensorflow/lite/gpu/GpuDelegate.java) // Creates a new delegate instance that need to be destroyed with // TfLiteGpuDelegateDelete when delegate is no longer used by TFLite. diff --git a/tensorflow/lite/delegates/gpu/java/src/main/java/org/tensorflow/lite/gpu/GpuDelegate.java b/tensorflow/lite/delegates/gpu/java/src/main/java/org/tensorflow/lite/gpu/GpuDelegate.java index 6cdbc177cd8..b19dc346fcb 100644 --- a/tensorflow/lite/delegates/gpu/java/src/main/java/org/tensorflow/lite/gpu/GpuDelegate.java +++ b/tensorflow/lite/delegates/gpu/java/src/main/java/org/tensorflow/lite/gpu/GpuDelegate.java @@ -27,8 +27,90 @@ public class GpuDelegate implements Delegate, Closeable { private long delegateHandle; + /** Shader compilation options. */ + public static final class CompileOptions { + public CompileOptions() {} + + /** Delegate chooses fastest GL object type to represent tensors (default). */ + public static final int GL_OBJECT_TYPE_FASTEST = 0; + /** + * Delegate uses GL textures to represent tensors, which works faster on Adreno-based devices, + * but may use more memory. + */ + public static final int GL_OBJECT_TYPE_TEXTURE = 1; + /** Delegate uses GL shader storage buffer objects to represent tensors. */ + public static final int GL_OBJECT_TYPE_BUFFER = 2; + + /** + * Sets whether precision loss is allowed. + * + * @param precisionLossAllowed When `true` (default), the GPU may quantify tensors, downcast + * values, process in FP16. When `false`, computations are carried out in 32-bit floating + * point. + */ + public CompileOptions setPrecisionLossAllowed(boolean precisionLossAllowed) { + this.precisionLossAllowed = precisionLossAllowed; + return this; + } + + /** + * Sets whether dynamic batch is enabled. + * + * @param dynamicBatchEnabled When `false` (default), dynamic batching is disabled and + * input/output tensors must have a batch size of 1 (probably what you want, unless you use + * LSTMs). When `true`, enables dynamic batching and input/output tensor can have a batch + * size greater than 1. + */ + public CompileOptions setDynamicBatchEnabled(boolean dynamicBatchEnabled) { + this.dynamicBatchEnabled = dynamicBatchEnabled; + return this; + } + + /** + * Sets the preferred GL object type for tensor representation + * + * @param preferredGlObjectType One of `GL_OBJECT_TYPE_FASTEST` (default), + * `GL_OBJECT_TYPE_TEXTURE`, `GL_OBJECT_TYPE_BUFFER`. + */ + public CompileOptions setPreferredGlObjectType(int preferredGlObjectType) { + this.preferredGlObjectType = preferredGlObjectType; + return this; + } + + boolean precisionLossAllowed = true; + boolean dynamicBatchEnabled = false; + int preferredGlObjectType = GL_OBJECT_TYPE_FASTEST; + } + + /** Delegate options. */ + public static final class Options { + public Options() {} + + private static final CompileOptions DEFAULT_COMPILE_OPTIONS = new CompileOptions(); + + /** + * Sets the shader compilation options to be used by the delegate. + * + * @param compileOptions the {@link CompileOptions} to use. + */ + public Options setCompileOptions(CompileOptions compileOptions) { + this.compileOptions = compileOptions != null ? compileOptions : DEFAULT_COMPILE_OPTIONS; + return this; + } + + CompileOptions compileOptions = DEFAULT_COMPILE_OPTIONS; + } + + public GpuDelegate(Options options) { + delegateHandle = + createDelegate( + options.compileOptions.precisionLossAllowed, + options.compileOptions.dynamicBatchEnabled, + options.compileOptions.preferredGlObjectType); + } + public GpuDelegate() { - delegateHandle = createDelegate(); + this(new Options()); } /** @@ -73,7 +155,8 @@ public class GpuDelegate implements Delegate, Closeable { System.loadLibrary(TFLITE_GPU_LIB); } - private static native long createDelegate(); + private static native long createDelegate( + boolean precisionLossAllowed, boolean dynamicBatchEnabled, int preferredGlObjectType); private static native void deleteDelegate(long delegateHandle); diff --git a/tensorflow/lite/delegates/gpu/java/src/main/native/gpu_delegate_jni.cc b/tensorflow/lite/delegates/gpu/java/src/main/native/gpu_delegate_jni.cc index b77a298e0c5..e0308c29df4 100644 --- a/tensorflow/lite/delegates/gpu/java/src/main/native/gpu_delegate_jni.cc +++ b/tensorflow/lite/delegates/gpu/java/src/main/native/gpu_delegate_jni.cc @@ -18,14 +18,16 @@ limitations under the License. #include "tensorflow/lite/delegates/gpu/gl_delegate.h" JNIEXPORT jlong JNICALL Java_org_tensorflow_lite_gpu_GpuDelegate_createDelegate( - JNIEnv* env, jclass clazz) { - // Auto-choosing the best performing config for closed release. + JNIEnv* env, jclass clazz, jboolean precision_loss_allowed, + jboolean dynamic_batch_enabled, jint preferred_gl_object_type) { TfLiteGpuDelegateOptions options; options.metadata = nullptr; - options.compile_options.precision_loss_allowed = 1; + options.compile_options.precision_loss_allowed = + precision_loss_allowed == JNI_TRUE ? 1 : 0; options.compile_options.preferred_gl_object_type = - TFLITE_GL_OBJECT_TYPE_FASTEST; - options.compile_options.dynamic_batch_enabled = 0; + static_cast(preferred_gl_object_type); + options.compile_options.dynamic_batch_enabled = + dynamic_batch_enabled == JNI_TRUE ? 1 : 0; return reinterpret_cast(TfLiteGpuDelegateCreate(&options)); } diff --git a/tensorflow/lite/delegates/gpu/java/src/main/native/gpu_delegate_jni.h b/tensorflow/lite/delegates/gpu/java/src/main/native/gpu_delegate_jni.h index f8bdb5a4006..b36fd912b23 100644 --- a/tensorflow/lite/delegates/gpu/java/src/main/native/gpu_delegate_jni.h +++ b/tensorflow/lite/delegates/gpu/java/src/main/native/gpu_delegate_jni.h @@ -25,10 +25,11 @@ extern "C" { /* * Class: org_tensorflow_lite_gpu_GpuDelegate * Method: createDelegate - * Signature: ()J + * Signature: (ZZI)J */ JNIEXPORT jlong JNICALL Java_org_tensorflow_lite_gpu_GpuDelegate_createDelegate( - JNIEnv* env, jclass clazz); + JNIEnv* env, jclass clazz, jboolean precision_loss_allowed, + jboolean dynamic_batch_enabled, jint preferred_gl_object_type); /* * Class: org_tensorflow_lite_gpu_GpuDelegate diff --git a/tensorflow/opensource_only.files b/tensorflow/opensource_only.files index 74b030d9439..ca4bb1d7aab 100644 --- a/tensorflow/opensource_only.files +++ b/tensorflow/opensource_only.files @@ -1,265 +1,265 @@ -tensorflow/contrib/tpu/profiler/pip_package/BUILD -tensorflow/contrib/tpu/profiler/pip_package/setup.py -tensorflow/contrib/tpu/profiler/pip_package/README -tensorflow/contrib/tpu/profiler/pip_package/build_pip_package.sh -tensorflow/contrib/tpu/profiler/pip_package/cloud_tpu_profiler/main.py -tensorflow/contrib/tpu/profiler/pip_package/cloud_tpu_profiler/__init__.py -tensorflow/contrib/mpi/BUILD -tensorflow/tools/ci_build/remote/BUILD -tensorflow/tools/pip_package/README -tensorflow/tools/pip_package/MANIFEST.in -tensorflow/tools/pip_package/simple_console.py -tensorflow/tools/pip_package/build_pip_package.sh -tensorflow/tools/pip_package/check_load_py_test.py -tensorflow/tools/pip_package/pip_smoke_test.py -tensorflow/tools/pip_package/simple_console_for_windows.py -tensorflow/tools/pip_package/setup.py -tensorflow/tools/pip_package/BUILD -tensorflow/tools/lib_package/concat_licenses.sh -tensorflow/tools/lib_package/libtensorflow_test.c -tensorflow/tools/lib_package/LibTensorFlowTest.java -tensorflow/tools/lib_package/BUILD -tensorflow/tools/lib_package/libtensorflow_test.sh -tensorflow/tools/lib_package/README.md -tensorflow/tools/lib_package/libtensorflow_java_test.sh -tensorflow/tools/def_file_filter/def_file_filter_configure.bzl -tensorflow/tools/def_file_filter/BUILD -tensorflow/tools/def_file_filter/BUILD.tpl -tensorflow/tools/def_file_filter/def_file_filter.py.tpl -tensorflow/third_party/mkl/MKL_LICENSE -tensorflow/third_party/mkl/LICENSE -tensorflow/third_party/mkl/BUILD -tensorflow/third_party/mkl/mkl.BUILD -tensorflow/third_party/mkl/build_defs.bzl -tensorflow/third_party/backports_weakref.BUILD -tensorflow/third_party/toolchains/clang6/BUILD -tensorflow/third_party/toolchains/clang6/README.md -tensorflow/third_party/toolchains/clang6/repo.bzl -tensorflow/third_party/toolchains/clang6/CROSSTOOL.tpl -tensorflow/third_party/toolchains/clang6/clang.BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/gcc7-nvcc-cuda10.0/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/tensorrt5/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/tensorrt5/build_defs.bzl -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/py3/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/gcc-nvcc-cuda9.0/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/gcc-nvcc/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/cuda10.0-cudnn7/cuda/build_defs.bzl -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/cuda10.0-cudnn7/cuda/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/gcc-nvcc-cuda10.0/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/cuda9.0-cudnn7/cuda/build_defs.bzl -tensorflow/third_party/toolchains/preconfig/ubuntu14.04/cuda9.0-cudnn7/cuda/BUILD -tensorflow/third_party/toolchains/preconfig/centos7/tensorrt5/build_defs.bzl -tensorflow/third_party/toolchains/preconfig/centos7/tensorrt5/BUILD -tensorflow/third_party/toolchains/preconfig/centos7/gcc7-nvcc-cuda10.0/BUILD -tensorflow/third_party/toolchains/preconfig/centos7/py3/BUILD -tensorflow/third_party/toolchains/preconfig/centos7/cuda10.0-cudnn7/cuda/BUILD -tensorflow/third_party/toolchains/preconfig/centos7/cuda10.0-cudnn7/cuda/build_defs.bzl -tensorflow/third_party/toolchains/preconfig/generate/workspace.bzl -tensorflow/third_party/toolchains/preconfig/generate/containers.bzl -tensorflow/third_party/toolchains/preconfig/generate/generate.bzl -tensorflow/third_party/toolchains/preconfig/generate/archives.bzl -tensorflow/third_party/toolchains/preconfig/generate/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu16.04/clang/BUILD -tensorflow/third_party/toolchains/preconfig/ubuntu16.04/clang/dummy_toolchain.bzl -tensorflow/third_party/toolchains/preconfig/ubuntu16.04/py3/BUILD -tensorflow/third_party/toolchains/preconfig/centos6/py/BUILD -tensorflow/third_party/toolchains/preconfig/centos6/cuda10.0-cudnn7/cuda/BUILD -tensorflow/third_party/toolchains/preconfig/centos6/cuda10.0-cudnn7/cuda/build_defs.bzl -tensorflow/third_party/toolchains/preconfig/centos6/gcc7-nvcc-cuda10.0/BUILD -tensorflow/third_party/toolchains/preconfig/centos6/tensorrt5/build_defs.bzl -tensorflow/third_party/toolchains/preconfig/centos6/tensorrt5/BUILD -tensorflow/third_party/toolchains/preconfig/centos6/gcc7/cc_toolchain_config.bzl -tensorflow/third_party/toolchains/preconfig/centos6/gcc7/dummy_toolchain.bzl -tensorflow/third_party/toolchains/preconfig/centos6/gcc7/BUILD -tensorflow/third_party/toolchains/preconfig/centos6/py3/BUILD -tensorflow/third_party/toolchains/preconfig/win_1803/bazel_018/BUILD -tensorflow/third_party/toolchains/preconfig/win_1803/bazel_018/dummy_toolchain.bzl -tensorflow/third_party/toolchains/preconfig/win_1803/py36/BUILD -tensorflow/third_party/toolchains/preconfig/win_1803/BUILD +tensorflow/third_party/systemlibs/nsync.BUILD +tensorflow/third_party/systemlibs/absl_py.absl.flags.BUILD +tensorflow/third_party/systemlibs/google_cloud_cpp.google.cloud.bigtable.BUILD +tensorflow/third_party/systemlibs/build_defs.bzl.tpl +tensorflow/third_party/systemlibs/curl.BUILD +tensorflow/third_party/systemlibs/cython.BUILD +tensorflow/third_party/systemlibs/astor.BUILD +tensorflow/third_party/systemlibs/jsoncpp.BUILD +tensorflow/third_party/systemlibs/png.BUILD +tensorflow/third_party/systemlibs/pcre.BUILD +tensorflow/third_party/systemlibs/grpc.BUILD +tensorflow/third_party/systemlibs/protobuf.BUILD +tensorflow/third_party/systemlibs/double_conversion.BUILD +tensorflow/third_party/systemlibs/six.BUILD +tensorflow/third_party/systemlibs/zlib.BUILD +tensorflow/third_party/systemlibs/lmdb.BUILD +tensorflow/third_party/systemlibs/sqlite.BUILD +tensorflow/third_party/systemlibs/gast.BUILD +tensorflow/third_party/systemlibs/absl_py.BUILD +tensorflow/third_party/systemlibs/boringssl.BUILD +tensorflow/third_party/systemlibs/BUILD.tpl +tensorflow/third_party/systemlibs/BUILD +tensorflow/third_party/systemlibs/termcolor.BUILD +tensorflow/third_party/systemlibs/gif.BUILD +tensorflow/third_party/systemlibs/protobuf.bzl +tensorflow/third_party/systemlibs/snappy.BUILD +tensorflow/third_party/systemlibs/googleapis.BUILD +tensorflow/third_party/systemlibs/google_cloud_cpp.BUILD +tensorflow/third_party/systemlibs/re2.BUILD +tensorflow/third_party/systemlibs/swig.BUILD +tensorflow/third_party/systemlibs/syslibs_configure.bzl +tensorflow/third_party/systemlibs/absl_py.absl.testing.BUILD +tensorflow/third_party/pprof.BUILD +tensorflow/third_party/toolchains/remote/execution.bzl.tpl +tensorflow/third_party/toolchains/remote/BUILD.tpl +tensorflow/third_party/toolchains/remote/BUILD +tensorflow/third_party/toolchains/remote/configure.bzl +tensorflow/third_party/toolchains/cpus/py3/BUILD +tensorflow/third_party/toolchains/cpus/py/BUILD tensorflow/third_party/toolchains/cpus/arm/arm_compiler_configure.bzl tensorflow/third_party/toolchains/cpus/arm/CROSSTOOL.tpl tensorflow/third_party/toolchains/cpus/arm/BUILD -tensorflow/third_party/toolchains/cpus/py3/BUILD -tensorflow/third_party/toolchains/cpus/py/BUILD -tensorflow/third_party/toolchains/remote/configure.bzl -tensorflow/third_party/toolchains/remote/BUILD.tpl -tensorflow/third_party/toolchains/remote/BUILD -tensorflow/third_party/toolchains/remote/execution.bzl.tpl tensorflow/third_party/toolchains/BUILD -tensorflow/third_party/gpus/BUILD -tensorflow/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_rocm.tpl -tensorflow/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl -tensorflow/third_party/gpus/crosstool/CROSSTOOL.tpl -tensorflow/third_party/gpus/crosstool/CROSSTOOL_hipcc.tpl +tensorflow/third_party/toolchains/preconfig/ubuntu16.04/py3/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu16.04/clang/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu16.04/clang/dummy_toolchain.bzl +tensorflow/third_party/toolchains/preconfig/win_1803/bazel_018/BUILD +tensorflow/third_party/toolchains/preconfig/win_1803/bazel_018/dummy_toolchain.bzl +tensorflow/third_party/toolchains/preconfig/win_1803/BUILD +tensorflow/third_party/toolchains/preconfig/win_1803/py36/BUILD +tensorflow/third_party/toolchains/preconfig/centos7/py3/BUILD +tensorflow/third_party/toolchains/preconfig/centos7/gcc7-nvcc-cuda10.0/BUILD +tensorflow/third_party/toolchains/preconfig/centos7/cuda10.0-cudnn7/cuda/build_defs.bzl +tensorflow/third_party/toolchains/preconfig/centos7/cuda10.0-cudnn7/cuda/BUILD +tensorflow/third_party/toolchains/preconfig/centos7/tensorrt5/build_defs.bzl +tensorflow/third_party/toolchains/preconfig/centos7/tensorrt5/BUILD +tensorflow/third_party/toolchains/preconfig/generate/containers.bzl +tensorflow/third_party/toolchains/preconfig/generate/workspace.bzl +tensorflow/third_party/toolchains/preconfig/generate/archives.bzl +tensorflow/third_party/toolchains/preconfig/generate/generate.bzl +tensorflow/third_party/toolchains/preconfig/generate/BUILD +tensorflow/third_party/toolchains/preconfig/centos6/py3/BUILD +tensorflow/third_party/toolchains/preconfig/centos6/py/BUILD +tensorflow/third_party/toolchains/preconfig/centos6/gcc7/cc_toolchain_config.bzl +tensorflow/third_party/toolchains/preconfig/centos6/gcc7/BUILD +tensorflow/third_party/toolchains/preconfig/centos6/gcc7/dummy_toolchain.bzl +tensorflow/third_party/toolchains/preconfig/centos6/gcc7-nvcc-cuda10.0/BUILD +tensorflow/third_party/toolchains/preconfig/centos6/cuda10.0-cudnn7/cuda/build_defs.bzl +tensorflow/third_party/toolchains/preconfig/centos6/cuda10.0-cudnn7/cuda/BUILD +tensorflow/third_party/toolchains/preconfig/centos6/tensorrt5/build_defs.bzl +tensorflow/third_party/toolchains/preconfig/centos6/tensorrt5/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/py3/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/gcc-nvcc-cuda9.0/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/gcc7-nvcc-cuda10.0/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/gcc-nvcc-cuda10.0/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/gcc-nvcc/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/cuda9.0-cudnn7/cuda/build_defs.bzl +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/cuda9.0-cudnn7/cuda/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/cuda10.0-cudnn7/cuda/build_defs.bzl +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/cuda10.0-cudnn7/cuda/BUILD +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/tensorrt5/build_defs.bzl +tensorflow/third_party/toolchains/preconfig/ubuntu14.04/tensorrt5/BUILD +tensorflow/third_party/toolchains/clang6/repo.bzl +tensorflow/third_party/toolchains/clang6/CROSSTOOL.tpl +tensorflow/third_party/toolchains/clang6/BUILD +tensorflow/third_party/toolchains/clang6/clang.BUILD +tensorflow/third_party/toolchains/clang6/README.md +tensorflow/third_party/farmhash.BUILD +tensorflow/third_party/git/BUILD.tpl +tensorflow/third_party/git/git_configure.bzl +tensorflow/third_party/git/BUILD +tensorflow/third_party/cub.BUILD +tensorflow/third_party/gpus/cuda_configure.bzl +tensorflow/third_party/gpus/rocm/build_defs.bzl.tpl +tensorflow/third_party/gpus/rocm/BUILD.tpl +tensorflow/third_party/gpus/rocm/BUILD +tensorflow/third_party/gpus/rocm/rocm_config.h.tpl +tensorflow/third_party/gpus/rocm_configure.bzl +tensorflow/third_party/gpus/find_cuda_config.py tensorflow/third_party/gpus/crosstool/LICENSE tensorflow/third_party/gpus/crosstool/windows/msvc_wrapper_for_nvcc.py.tpl +tensorflow/third_party/gpus/crosstool/CROSSTOOL_hipcc.tpl +tensorflow/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl +tensorflow/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_rocm.tpl +tensorflow/third_party/gpus/crosstool/CROSSTOOL.tpl tensorflow/third_party/gpus/crosstool/BUILD.tpl tensorflow/third_party/gpus/crosstool/BUILD +tensorflow/third_party/gpus/cuda/build_defs.bzl.tpl tensorflow/third_party/gpus/cuda/LICENSE -tensorflow/third_party/gpus/cuda/BUILD.tpl tensorflow/third_party/gpus/cuda/BUILD.windows.tpl tensorflow/third_party/gpus/cuda/cuda_config.h.tpl +tensorflow/third_party/gpus/cuda/BUILD.tpl tensorflow/third_party/gpus/cuda/BUILD -tensorflow/third_party/gpus/cuda/build_defs.bzl.tpl -tensorflow/third_party/gpus/rocm/rocm_config.h.tpl -tensorflow/third_party/gpus/rocm/BUILD -tensorflow/third_party/gpus/rocm/BUILD.tpl -tensorflow/third_party/gpus/rocm/build_defs.bzl.tpl -tensorflow/third_party/gpus/cuda_configure.bzl -tensorflow/third_party/gpus/find_cuda_config.py -tensorflow/third_party/gpus/rocm_configure.bzl -tensorflow/third_party/snappy.BUILD -tensorflow/third_party/cython.BUILD -tensorflow/third_party/farmhash.BUILD -tensorflow/third_party/eigen3/Eigen/Cholesky -tensorflow/third_party/eigen3/Eigen/QR -tensorflow/third_party/eigen3/Eigen/LU -tensorflow/third_party/eigen3/Eigen/Core -tensorflow/third_party/eigen3/Eigen/SVD -tensorflow/third_party/eigen3/Eigen/Eigenvalues -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/Tensor -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/TypeCastingAVX512.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX2.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProduct.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/FixedPointTypes.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatVecProduct.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProductNEON.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/TypeCastingAVX2.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProductAVX2.h -tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/ThreadPool -tensorflow/third_party/eigen3/unsupported/Eigen/SpecialFunctions -tensorflow/third_party/eigen3/unsupported/Eigen/MatrixFunctions -tensorflow/third_party/eigen3/gpu_packet_math.patch -tensorflow/third_party/eigen3/LICENSE -tensorflow/third_party/eigen3/BUILD -tensorflow/third_party/systemlibs/build_defs.bzl.tpl -tensorflow/third_party/systemlibs/absl_py.BUILD -tensorflow/third_party/systemlibs/curl.BUILD -tensorflow/third_party/systemlibs/termcolor.BUILD -tensorflow/third_party/systemlibs/absl_py.absl.flags.BUILD -tensorflow/third_party/systemlibs/grpc.BUILD -tensorflow/third_party/systemlibs/swig.BUILD -tensorflow/third_party/systemlibs/protobuf.bzl -tensorflow/third_party/systemlibs/protobuf.BUILD -tensorflow/third_party/systemlibs/BUILD -tensorflow/third_party/systemlibs/google_cloud_cpp.BUILD -tensorflow/third_party/systemlibs/astor.BUILD -tensorflow/third_party/systemlibs/six.BUILD -tensorflow/third_party/systemlibs/absl_py.absl.testing.BUILD -tensorflow/third_party/systemlibs/boringssl.BUILD -tensorflow/third_party/systemlibs/nsync.BUILD -tensorflow/third_party/systemlibs/google_cloud_cpp.google.cloud.bigtable.BUILD -tensorflow/third_party/systemlibs/gif.BUILD -tensorflow/third_party/systemlibs/pcre.BUILD -tensorflow/third_party/systemlibs/BUILD.tpl -tensorflow/third_party/systemlibs/snappy.BUILD -tensorflow/third_party/systemlibs/gast.BUILD -tensorflow/third_party/systemlibs/cython.BUILD -tensorflow/third_party/systemlibs/double_conversion.BUILD -tensorflow/third_party/systemlibs/zlib.BUILD -tensorflow/third_party/systemlibs/jsoncpp.BUILD -tensorflow/third_party/systemlibs/re2.BUILD -tensorflow/third_party/systemlibs/lmdb.BUILD -tensorflow/third_party/systemlibs/googleapis.BUILD -tensorflow/third_party/systemlibs/png.BUILD -tensorflow/third_party/systemlibs/syslibs_configure.bzl -tensorflow/third_party/systemlibs/sqlite.BUILD -tensorflow/third_party/python_runtime/BUILD -tensorflow/third_party/sycl/crosstool/BUILD -tensorflow/third_party/ngraph/LICENSE -tensorflow/third_party/ngraph/tbb.BUILD -tensorflow/third_party/ngraph/BUILD -tensorflow/third_party/ngraph/ngraph.BUILD -tensorflow/third_party/ngraph/build_defs.bzl -tensorflow/third_party/ngraph/NGRAPH_LICENSE -tensorflow/third_party/ngraph/ngraph_tf.BUILD -tensorflow/third_party/ngraph/nlohmann_json.BUILD -tensorflow/third_party/clang_toolchain/download_clang.bzl -tensorflow/third_party/clang_toolchain/BUILD -tensorflow/third_party/clang_toolchain/cc_configure_clang.bzl -tensorflow/third_party/gast.BUILD -tensorflow/third_party/llvm/BUILD -tensorflow/third_party/llvm/expand_cmake_vars.py -tensorflow/third_party/llvm/llvm.autogenerated.BUILD -tensorflow/third_party/llvm/llvm.bzl -tensorflow/third_party/icu/udata.patch -tensorflow/third_party/nccl/archive.BUILD -tensorflow/third_party/nccl/LICENSE -tensorflow/third_party/nccl/system.BUILD.tpl -tensorflow/third_party/nccl/nccl_configure.bzl -tensorflow/third_party/nccl/build_defs.bzl.tpl -tensorflow/third_party/nccl/BUILD -tensorflow/third_party/fft2d/BUILD -tensorflow/third_party/fft2d/fft.h -tensorflow/third_party/fft2d/LICENSE -tensorflow/third_party/fft2d/fft2d.BUILD -tensorflow/third_party/boringssl/BUILD -tensorflow/third_party/mpi/.gitignore -tensorflow/third_party/mpi/BUILD -tensorflow/third_party/tensorrt/LICENSE -tensorflow/third_party/tensorrt/BUILD -tensorflow/third_party/tensorrt/build_defs.bzl.tpl -tensorflow/third_party/tensorrt/BUILD.tpl -tensorflow/third_party/tensorrt/tensorrt_configure.bzl -tensorflow/third_party/kafka/config.patch -tensorflow/third_party/kafka/BUILD -tensorflow/third_party/android/BUILD -tensorflow/third_party/android/android.bzl.tpl -tensorflow/third_party/android/android_configure.bzl -tensorflow/third_party/android/android_configure.BUILD.tpl -tensorflow/third_party/tflite_smartreply.BUILD +tensorflow/third_party/gpus/BUILD +tensorflow/third_party/common.bzl +tensorflow/third_party/tflite_mobilenet_quant.BUILD +tensorflow/third_party/linenoise.BUILD +tensorflow/third_party/curl.BUILD tensorflow/third_party/mkl_dnn/LICENSE tensorflow/third_party/mkl_dnn/mkldnn.BUILD -tensorflow/third_party/pcre.BUILD -tensorflow/third_party/pybind11.BUILD -tensorflow/third_party/linenoise.BUILD -tensorflow/third_party/sqlite.BUILD -tensorflow/third_party/common.bzl -tensorflow/third_party/com_google_absl.BUILD -tensorflow/third_party/pprof.BUILD -tensorflow/third_party/BUILD -tensorflow/third_party/tflite_mobilenet_quant.BUILD -tensorflow/third_party/wrapt.BUILD -tensorflow/third_party/lmdb.BUILD -tensorflow/third_party/git/BUILD.tpl -tensorflow/third_party/git/BUILD -tensorflow/third_party/git/git_configure.bzl -tensorflow/third_party/protobuf/BUILD -tensorflow/third_party/enum34.BUILD -tensorflow/third_party/tflite_mobilenet.BUILD -tensorflow/third_party/py/BUILD -tensorflow/third_party/py/BUILD.tpl -tensorflow/third_party/py/numpy/BUILD -tensorflow/third_party/py/python_configure.bzl -tensorflow/third_party/termcolor.BUILD -tensorflow/third_party/png_fix_rpi.patch -tensorflow/third_party/swig.BUILD -tensorflow/third_party/astor.BUILD +tensorflow/third_party/fft2d/LICENSE +tensorflow/third_party/fft2d/fft2d.BUILD +tensorflow/third_party/fft2d/fft.h +tensorflow/third_party/fft2d/BUILD +tensorflow/third_party/ngraph/LICENSE +tensorflow/third_party/ngraph/build_defs.bzl +tensorflow/third_party/ngraph/tbb.BUILD +tensorflow/third_party/ngraph/ngraph.BUILD +tensorflow/third_party/ngraph/nlohmann_json.BUILD +tensorflow/third_party/ngraph/BUILD +tensorflow/third_party/ngraph/ngraph_tf.BUILD +tensorflow/third_party/ngraph/NGRAPH_LICENSE tensorflow/third_party/grpc/BUILD -tensorflow/third_party/curl.BUILD -tensorflow/third_party/arm_neon_2_x86_sse.BUILD +tensorflow/third_party/cython.BUILD +tensorflow/third_party/icu/udata.patch +tensorflow/third_party/astor.BUILD +tensorflow/third_party/jsoncpp.BUILD +tensorflow/third_party/sycl/crosstool/BUILD +tensorflow/third_party/llvm/llvm.autogenerated.BUILD +tensorflow/third_party/llvm/expand_cmake_vars.py +tensorflow/third_party/llvm/llvm.bzl +tensorflow/third_party/llvm/BUILD tensorflow/third_party/png.BUILD -tensorflow/third_party/googleapis.BUILD -tensorflow/third_party/mpi_collectives/BUILD -tensorflow/third_party/nanopb.BUILD -tensorflow/third_party/gif.BUILD +tensorflow/third_party/arm_neon_2_x86_sse.BUILD +tensorflow/third_party/codegen.BUILD +tensorflow/third_party/enum34.BUILD +tensorflow/third_party/kafka/config.patch +tensorflow/third_party/kafka/BUILD +tensorflow/third_party/pcre.BUILD +tensorflow/third_party/mpi/BUILD +tensorflow/third_party/mpi/.gitignore +tensorflow/third_party/clang_toolchain/BUILD +tensorflow/third_party/clang_toolchain/download_clang.bzl +tensorflow/third_party/clang_toolchain/cc_configure_clang.bzl +tensorflow/third_party/tflite_ovic_testdata.BUILD +tensorflow/third_party/repo.bzl +tensorflow/third_party/png_fix_rpi.patch +tensorflow/third_party/py/python_configure.bzl +tensorflow/third_party/py/BUILD.tpl +tensorflow/third_party/py/BUILD +tensorflow/third_party/py/numpy/BUILD tensorflow/third_party/double_conversion.BUILD tensorflow/third_party/six.BUILD -tensorflow/third_party/tflite_mobilenet_float.BUILD -tensorflow/third_party/repo.bzl -tensorflow/third_party/codegen.BUILD -tensorflow/third_party/cub.BUILD -tensorflow/third_party/jsoncpp.BUILD -tensorflow/third_party/tflite_ovic_testdata.BUILD -tensorflow/third_party/__init__.py -tensorflow/third_party/libxsmm.BUILD tensorflow/third_party/zlib.BUILD +tensorflow/third_party/lmdb.BUILD +tensorflow/third_party/nanopb.BUILD +tensorflow/third_party/pybind11.BUILD +tensorflow/third_party/android/android.bzl.tpl +tensorflow/third_party/android/BUILD +tensorflow/third_party/android/android_configure.BUILD.tpl +tensorflow/third_party/android/android_configure.bzl +tensorflow/third_party/tflite_mobilenet_float.BUILD +tensorflow/third_party/sqlite.BUILD +tensorflow/third_party/tensorrt/build_defs.bzl.tpl +tensorflow/third_party/tensorrt/LICENSE +tensorflow/third_party/tensorrt/tensorrt_configure.bzl +tensorflow/third_party/tensorrt/BUILD.tpl +tensorflow/third_party/tensorrt/BUILD +tensorflow/third_party/gast.BUILD +tensorflow/third_party/mpi_collectives/BUILD +tensorflow/third_party/libxsmm.BUILD tensorflow/third_party/eigen.BUILD +tensorflow/third_party/com_google_absl.BUILD +tensorflow/third_party/eigen3/LICENSE +tensorflow/third_party/eigen3/gpu_packet_math.patch +tensorflow/third_party/eigen3/BUILD +tensorflow/third_party/eigen3/unsupported/Eigen/MatrixFunctions +tensorflow/third_party/eigen3/unsupported/Eigen/SpecialFunctions +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/Tensor +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProduct.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProductAVX2.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/TypeCastingAVX512.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX2.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/TypeCastingAVX2.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProductNEON.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/FixedPointTypes.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatVecProduct.h +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint +tensorflow/third_party/eigen3/unsupported/Eigen/CXX11/ThreadPool +tensorflow/third_party/eigen3/Eigen/QR +tensorflow/third_party/eigen3/Eigen/SVD +tensorflow/third_party/eigen3/Eigen/LU +tensorflow/third_party/eigen3/Eigen/Cholesky +tensorflow/third_party/eigen3/Eigen/Eigenvalues +tensorflow/third_party/eigen3/Eigen/Core +tensorflow/third_party/BUILD +tensorflow/third_party/termcolor.BUILD +tensorflow/third_party/gif.BUILD +tensorflow/third_party/tflite_mobilenet.BUILD +tensorflow/third_party/__init__.py +tensorflow/third_party/mkl/LICENSE +tensorflow/third_party/mkl/build_defs.bzl +tensorflow/third_party/mkl/mkl.BUILD +tensorflow/third_party/mkl/MKL_LICENSE +tensorflow/third_party/mkl/BUILD +tensorflow/third_party/nccl/build_defs.bzl.tpl +tensorflow/third_party/nccl/LICENSE +tensorflow/third_party/nccl/nccl_configure.bzl +tensorflow/third_party/nccl/archive.BUILD +tensorflow/third_party/nccl/BUILD +tensorflow/third_party/nccl/system.BUILD.tpl +tensorflow/third_party/snappy.BUILD +tensorflow/third_party/python_runtime/BUILD +tensorflow/third_party/googleapis.BUILD +tensorflow/third_party/wrapt.BUILD +tensorflow/third_party/boringssl/BUILD +tensorflow/third_party/protobuf/BUILD +tensorflow/third_party/backports_weakref.BUILD +tensorflow/third_party/tflite_smartreply.BUILD +tensorflow/third_party/swig.BUILD +tensorflow/compat_template.__init__.py +tensorflow/tools/lib_package/libtensorflow_test.sh +tensorflow/tools/lib_package/libtensorflow_java_test.sh +tensorflow/tools/lib_package/libtensorflow_test.c +tensorflow/tools/lib_package/concat_licenses.sh +tensorflow/tools/lib_package/LibTensorFlowTest.java +tensorflow/tools/lib_package/BUILD +tensorflow/tools/lib_package/README.md +tensorflow/tools/pip_package/check_load_py_test.py +tensorflow/tools/pip_package/simple_console.py +tensorflow/tools/pip_package/pip_smoke_test.py +tensorflow/tools/pip_package/BUILD +tensorflow/tools/pip_package/simple_console_for_windows.py +tensorflow/tools/pip_package/build_pip_package.sh +tensorflow/tools/pip_package/README +tensorflow/tools/pip_package/setup.py +tensorflow/tools/pip_package/MANIFEST.in +tensorflow/tools/ci_build/remote/BUILD +tensorflow/tools/def_file_filter/def_file_filter.py.tpl +tensorflow/tools/def_file_filter/BUILD.tpl +tensorflow/tools/def_file_filter/BUILD +tensorflow/tools/def_file_filter/def_file_filter_configure.bzl +tensorflow/api_template.__init__.py +tensorflow/contrib/tpu/profiler/pip_package/BUILD +tensorflow/contrib/tpu/profiler/pip_package/cloud_tpu_profiler/__init__.py +tensorflow/contrib/tpu/profiler/pip_package/cloud_tpu_profiler/main.py +tensorflow/contrib/tpu/profiler/pip_package/build_pip_package.sh +tensorflow/contrib/tpu/profiler/pip_package/README +tensorflow/contrib/tpu/profiler/pip_package/setup.py +tensorflow/contrib/mpi/BUILD +tensorflow/__init__.py tensorflow/stream_executor/build_defs.bzl tensorflow/api_template_v1.__init__.py -tensorflow/compat_template_v1.__init__.py -tensorflow/compat_template.__init__.py -tensorflow/api_template.__init__.py -tensorflow/__init__.py \ No newline at end of file +tensorflow/compat_template_v1.__init__.py \ No newline at end of file