tensorflow / tensorflow/java

Add abstractions for parsing TFRecord Files using `tf.Example` and `tf.io` ops

Open
#58 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
928
Forks
227
PR merge metrics
No merged PRs in 30d

Description

System information

  • TensorFlow version (you are using): Latest master of TensorFlow Java
  • Are you willing to contribute it (Yes/No): No (working on other things at the moment)

Describe the feature and the current behavior/state.
Currently in Java, we have access to the core tf.io ops such as tf.parseExample, tf.parseSingleExample, tf.decodeRaw etc. In order to serialize TF Record datasets and read in datasets from the tensorflow_datasets buckets, for example, we need to be easily able to use these ops.

In Python, the relevant abstractions built on top of tf.io are defined in parsing_config.py. Specifically it will be very helpful to have abstractions such as:

  • Various feature types: FixedLenFeature, SparseFeature, FixedLenSequenceFeature, etc...
  • The _ParseOpParams class which wraps the parameters to tf.parseExample
  • Standardizing a flow for defining features in a TFRecord file.

See these examples which relate to using the parse-example ops, and reading TFRecord files

Will this change the current api? How?

This will add APIs for serializing / parsing examples to / from TF Record files

Who will benefit with this feature?

Anyone using datasets stored as TFRecord flies from TensorFlow java (for example, to load datasets from the tensorflow_datasets GCP bucket)

Any Other info.

Feel free to get in touch with me anytime to discuss! Happy to help.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading TensorFlow Python's parsing_config.py and the Java tf.io parse-example operations referenced in the issue. Compare the listed feature abstractions and _ParseOpParams with the existing Java bindings, then review the TFRecord and tf.Example examples. Done means Java APIs support defining features and serializing and parsing examples from TFRecord files.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.