Add GPU delegate options to Java wrapper

Expose precision, object and batching options in the Java GPU delegate
wrapper.

PiperOrigin-RevId: 246547702
This commit is contained in:
Jared Duke 2019-05-03 11:50:39 -07:00 committed by TensorFlower Gardener
parent 0fc062e74d
commit df9af35a1a
5 changed files with 340 additions and 252 deletions

View File

@ -39,6 +39,7 @@ limitations under the License.
extern "C" { extern "C" {
#endif // __cplusplus #endif // __cplusplus
// LINT.IfChange
enum TfLiteGlObjectType { enum TfLiteGlObjectType {
TFLITE_GL_OBJECT_TYPE_FASTEST = 0, TFLITE_GL_OBJECT_TYPE_FASTEST = 0,
TFLITE_GL_OBJECT_TYPE_TEXTURE = 1, TFLITE_GL_OBJECT_TYPE_TEXTURE = 1,
@ -74,6 +75,7 @@ struct TFL_CAPI_EXPORT TfLiteGpuDelegateOptions {
const uint8_t* metadata; // Internal. const uint8_t* metadata; // Internal.
TfLiteGlCompileOptions compile_options; 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 // Creates a new delegate instance that need to be destroyed with
// TfLiteGpuDelegateDelete when delegate is no longer used by TFLite. // TfLiteGpuDelegateDelete when delegate is no longer used by TFLite.

View File

@ -27,8 +27,90 @@ public class GpuDelegate implements Delegate, Closeable {
private long delegateHandle; 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() { public GpuDelegate() {
delegateHandle = createDelegate(); this(new Options());
} }
/** /**
@ -73,7 +155,8 @@ public class GpuDelegate implements Delegate, Closeable {
System.loadLibrary(TFLITE_GPU_LIB); 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); private static native void deleteDelegate(long delegateHandle);

View File

@ -18,14 +18,16 @@ limitations under the License.
#include "tensorflow/lite/delegates/gpu/gl_delegate.h" #include "tensorflow/lite/delegates/gpu/gl_delegate.h"
JNIEXPORT jlong JNICALL Java_org_tensorflow_lite_gpu_GpuDelegate_createDelegate( JNIEXPORT jlong JNICALL Java_org_tensorflow_lite_gpu_GpuDelegate_createDelegate(
JNIEnv* env, jclass clazz) { JNIEnv* env, jclass clazz, jboolean precision_loss_allowed,
// Auto-choosing the best performing config for closed release. jboolean dynamic_batch_enabled, jint preferred_gl_object_type) {
TfLiteGpuDelegateOptions options; TfLiteGpuDelegateOptions options;
options.metadata = nullptr; 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 = options.compile_options.preferred_gl_object_type =
TFLITE_GL_OBJECT_TYPE_FASTEST; static_cast<int32_t>(preferred_gl_object_type);
options.compile_options.dynamic_batch_enabled = 0; options.compile_options.dynamic_batch_enabled =
dynamic_batch_enabled == JNI_TRUE ? 1 : 0;
return reinterpret_cast<jlong>(TfLiteGpuDelegateCreate(&options)); return reinterpret_cast<jlong>(TfLiteGpuDelegateCreate(&options));
} }

View File

@ -25,10 +25,11 @@ extern "C" {
/* /*
* Class: org_tensorflow_lite_gpu_GpuDelegate * Class: org_tensorflow_lite_gpu_GpuDelegate
* Method: createDelegate * Method: createDelegate
* Signature: ()J * Signature: (ZZI)J
*/ */
JNIEXPORT jlong JNICALL Java_org_tensorflow_lite_gpu_GpuDelegate_createDelegate( 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 * Class: org_tensorflow_lite_gpu_GpuDelegate

View File

@ -1,265 +1,265 @@
tensorflow/contrib/tpu/profiler/pip_package/BUILD tensorflow/third_party/systemlibs/nsync.BUILD
tensorflow/contrib/tpu/profiler/pip_package/setup.py tensorflow/third_party/systemlibs/absl_py.absl.flags.BUILD
tensorflow/contrib/tpu/profiler/pip_package/README tensorflow/third_party/systemlibs/google_cloud_cpp.google.cloud.bigtable.BUILD
tensorflow/contrib/tpu/profiler/pip_package/build_pip_package.sh tensorflow/third_party/systemlibs/build_defs.bzl.tpl
tensorflow/contrib/tpu/profiler/pip_package/cloud_tpu_profiler/main.py tensorflow/third_party/systemlibs/curl.BUILD
tensorflow/contrib/tpu/profiler/pip_package/cloud_tpu_profiler/__init__.py tensorflow/third_party/systemlibs/cython.BUILD
tensorflow/contrib/mpi/BUILD tensorflow/third_party/systemlibs/astor.BUILD
tensorflow/tools/ci_build/remote/BUILD tensorflow/third_party/systemlibs/jsoncpp.BUILD
tensorflow/tools/pip_package/README tensorflow/third_party/systemlibs/png.BUILD
tensorflow/tools/pip_package/MANIFEST.in tensorflow/third_party/systemlibs/pcre.BUILD
tensorflow/tools/pip_package/simple_console.py tensorflow/third_party/systemlibs/grpc.BUILD
tensorflow/tools/pip_package/build_pip_package.sh tensorflow/third_party/systemlibs/protobuf.BUILD
tensorflow/tools/pip_package/check_load_py_test.py tensorflow/third_party/systemlibs/double_conversion.BUILD
tensorflow/tools/pip_package/pip_smoke_test.py tensorflow/third_party/systemlibs/six.BUILD
tensorflow/tools/pip_package/simple_console_for_windows.py tensorflow/third_party/systemlibs/zlib.BUILD
tensorflow/tools/pip_package/setup.py tensorflow/third_party/systemlibs/lmdb.BUILD
tensorflow/tools/pip_package/BUILD tensorflow/third_party/systemlibs/sqlite.BUILD
tensorflow/tools/lib_package/concat_licenses.sh tensorflow/third_party/systemlibs/gast.BUILD
tensorflow/tools/lib_package/libtensorflow_test.c tensorflow/third_party/systemlibs/absl_py.BUILD
tensorflow/tools/lib_package/LibTensorFlowTest.java tensorflow/third_party/systemlibs/boringssl.BUILD
tensorflow/tools/lib_package/BUILD tensorflow/third_party/systemlibs/BUILD.tpl
tensorflow/tools/lib_package/libtensorflow_test.sh tensorflow/third_party/systemlibs/BUILD
tensorflow/tools/lib_package/README.md tensorflow/third_party/systemlibs/termcolor.BUILD
tensorflow/tools/lib_package/libtensorflow_java_test.sh tensorflow/third_party/systemlibs/gif.BUILD
tensorflow/tools/def_file_filter/def_file_filter_configure.bzl tensorflow/third_party/systemlibs/protobuf.bzl
tensorflow/tools/def_file_filter/BUILD tensorflow/third_party/systemlibs/snappy.BUILD
tensorflow/tools/def_file_filter/BUILD.tpl tensorflow/third_party/systemlibs/googleapis.BUILD
tensorflow/tools/def_file_filter/def_file_filter.py.tpl tensorflow/third_party/systemlibs/google_cloud_cpp.BUILD
tensorflow/third_party/mkl/MKL_LICENSE tensorflow/third_party/systemlibs/re2.BUILD
tensorflow/third_party/mkl/LICENSE tensorflow/third_party/systemlibs/swig.BUILD
tensorflow/third_party/mkl/BUILD tensorflow/third_party/systemlibs/syslibs_configure.bzl
tensorflow/third_party/mkl/mkl.BUILD tensorflow/third_party/systemlibs/absl_py.absl.testing.BUILD
tensorflow/third_party/mkl/build_defs.bzl tensorflow/third_party/pprof.BUILD
tensorflow/third_party/backports_weakref.BUILD tensorflow/third_party/toolchains/remote/execution.bzl.tpl
tensorflow/third_party/toolchains/clang6/BUILD tensorflow/third_party/toolchains/remote/BUILD.tpl
tensorflow/third_party/toolchains/clang6/README.md tensorflow/third_party/toolchains/remote/BUILD
tensorflow/third_party/toolchains/clang6/repo.bzl tensorflow/third_party/toolchains/remote/configure.bzl
tensorflow/third_party/toolchains/clang6/CROSSTOOL.tpl tensorflow/third_party/toolchains/cpus/py3/BUILD
tensorflow/third_party/toolchains/clang6/clang.BUILD tensorflow/third_party/toolchains/cpus/py/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/toolchains/cpus/arm/arm_compiler_configure.bzl tensorflow/third_party/toolchains/cpus/arm/arm_compiler_configure.bzl
tensorflow/third_party/toolchains/cpus/arm/CROSSTOOL.tpl tensorflow/third_party/toolchains/cpus/arm/CROSSTOOL.tpl
tensorflow/third_party/toolchains/cpus/arm/BUILD 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/toolchains/BUILD
tensorflow/third_party/gpus/BUILD tensorflow/third_party/toolchains/preconfig/ubuntu16.04/py3/BUILD
tensorflow/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_rocm.tpl tensorflow/third_party/toolchains/preconfig/ubuntu16.04/clang/BUILD
tensorflow/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl tensorflow/third_party/toolchains/preconfig/ubuntu16.04/clang/dummy_toolchain.bzl
tensorflow/third_party/gpus/crosstool/CROSSTOOL.tpl tensorflow/third_party/toolchains/preconfig/win_1803/bazel_018/BUILD
tensorflow/third_party/gpus/crosstool/CROSSTOOL_hipcc.tpl 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/LICENSE
tensorflow/third_party/gpus/crosstool/windows/msvc_wrapper_for_nvcc.py.tpl 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.tpl
tensorflow/third_party/gpus/crosstool/BUILD 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/LICENSE
tensorflow/third_party/gpus/cuda/BUILD.tpl
tensorflow/third_party/gpus/cuda/BUILD.windows.tpl tensorflow/third_party/gpus/cuda/BUILD.windows.tpl
tensorflow/third_party/gpus/cuda/cuda_config.h.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
tensorflow/third_party/gpus/cuda/build_defs.bzl.tpl tensorflow/third_party/gpus/BUILD
tensorflow/third_party/gpus/rocm/rocm_config.h.tpl tensorflow/third_party/common.bzl
tensorflow/third_party/gpus/rocm/BUILD tensorflow/third_party/tflite_mobilenet_quant.BUILD
tensorflow/third_party/gpus/rocm/BUILD.tpl tensorflow/third_party/linenoise.BUILD
tensorflow/third_party/gpus/rocm/build_defs.bzl.tpl tensorflow/third_party/curl.BUILD
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/mkl_dnn/LICENSE tensorflow/third_party/mkl_dnn/LICENSE
tensorflow/third_party/mkl_dnn/mkldnn.BUILD tensorflow/third_party/mkl_dnn/mkldnn.BUILD
tensorflow/third_party/pcre.BUILD tensorflow/third_party/fft2d/LICENSE
tensorflow/third_party/pybind11.BUILD tensorflow/third_party/fft2d/fft2d.BUILD
tensorflow/third_party/linenoise.BUILD tensorflow/third_party/fft2d/fft.h
tensorflow/third_party/sqlite.BUILD tensorflow/third_party/fft2d/BUILD
tensorflow/third_party/common.bzl tensorflow/third_party/ngraph/LICENSE
tensorflow/third_party/com_google_absl.BUILD tensorflow/third_party/ngraph/build_defs.bzl
tensorflow/third_party/pprof.BUILD tensorflow/third_party/ngraph/tbb.BUILD
tensorflow/third_party/BUILD tensorflow/third_party/ngraph/ngraph.BUILD
tensorflow/third_party/tflite_mobilenet_quant.BUILD tensorflow/third_party/ngraph/nlohmann_json.BUILD
tensorflow/third_party/wrapt.BUILD tensorflow/third_party/ngraph/BUILD
tensorflow/third_party/lmdb.BUILD tensorflow/third_party/ngraph/ngraph_tf.BUILD
tensorflow/third_party/git/BUILD.tpl tensorflow/third_party/ngraph/NGRAPH_LICENSE
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/grpc/BUILD tensorflow/third_party/grpc/BUILD
tensorflow/third_party/curl.BUILD tensorflow/third_party/cython.BUILD
tensorflow/third_party/arm_neon_2_x86_sse.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/png.BUILD
tensorflow/third_party/googleapis.BUILD tensorflow/third_party/arm_neon_2_x86_sse.BUILD
tensorflow/third_party/mpi_collectives/BUILD tensorflow/third_party/codegen.BUILD
tensorflow/third_party/nanopb.BUILD tensorflow/third_party/enum34.BUILD
tensorflow/third_party/gif.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/double_conversion.BUILD
tensorflow/third_party/six.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/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/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/stream_executor/build_defs.bzl
tensorflow/api_template_v1.__init__.py tensorflow/api_template_v1.__init__.py
tensorflow/compat_template_v1.__init__.py tensorflow/compat_template_v1.__init__.py
tensorflow/compat_template.__init__.py
tensorflow/api_template.__init__.py
tensorflow/__init__.py