Issue 1:
Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10

Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on a mobile device: Samsung S5

TensorFlow installed from (source or binary): Binary

TensorFlow version: 1.12

Python version: 3.5

Installed using virtualenv? pip? conda?: conda

Bazel version (if compiling from source): N/A

GCC/Compiler version (if compiling from source):

CUDA/cuDNN version:

GPU model and memory:

Describe the problem

I have created my own architecture, on tensorflow and I have used Toco to convert to .tflite, However the android app still throws the following error: "java.lang.IllegalArgumentException: ByteBuffer is not a valid flatbuffer model."

Provide the exact sequence of commands / steps that you executed before running into the problem

'''

AssetFileDescriptor fileDescriptor = activity.getAssets().openFd(MODEL_PATH);

FileInputStream inputStream = new FileInputStream(fileDescriptor.getFileDescriptor());

FileChannel fileChannel = inputStream.getChannel();

long startOffset = fileDescriptor.getStartOffset();

long declaredLength = fileDescriptor.getDeclaredLength();

return fileChannel.map(FileChannel.MapMode.READ_ONLY, startOffset, declaredLength);

'''

Any other info / logs

Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Issue 2:
There are right now several high level APIs in TensorFlow (tf.keras, tf.estimators, tf.layers, tf.contrib.learn) that seem to be sometimes complementary and sometimes redundant. It is somewhat hard for me (and other parts of the internet I have searched) to understand which API to use for which purpose and how they relate to each other.

For me it would greatly help if it could be specified:

What is the intended high level API for the future? Even so if none of them will be discontinued, it would be nice one could just get pointed to one preferred. All I could find the documentation right now is:

"The higher level APIs are built on top of TensorFlow Core. These higher level APIs are typically easier to learn and use than TensorFlow Core. In addition, the higher level APIs make repetitive tasks easier and more consistent between different users. A high-level API like tf.estimator helps you manage data sets, estimators, training and inference."

How different modules from contrib relate to those in core tensorflow. E. g. it seems that tf.estimators is a portion of tf.contrib.learn that made it into core.

Why there are duplicate implementations like tf.layers.contrib.conv2d and tf.layers.conv2d?

If modules have complementary or duplicate functionality. E.g. tf.layers can be used with tf.estimators to define the model, but probably one does not want to mix tf.layers and tf.keras .

It would be great if that could be specified in the Overview section of the respective documentations, instead of just saying it is a high level API