Skip to content

Protobuf support in TF Java #21

Closed
Closed
@karllessard

Description

@karllessard

Right now, the TensorFlow Java client from the repository does not expose directly protobufs that are part of the contract of the C API (Though in this thread, it was mentioned that protobufs would be eventually removed from the API but I have a feeling this won't happen anytime soon).

Instead, it compiles and distribute the protobufs Java bindings as a separate artifact and the client itself remains agnostic of the content of the messages and simply expose unmapped byte arrays, like here.

We need to decide how we want to handle those protobufs in the new distribution. Possible choices are:

  • We keep distributing the compiled protobufs as an external artifact like now from the core repository build
  • We keep distributing the compiled protobufs as an external artifact but from our new repository build
  • We compile and distribute the Java protobuf bindings within the new TF Java client artifact so they get exposed directly by our API
  • We compile the Java protobuf bindings with the new TF Java client but wrap them so they are not exposed directly by our API (in case they are removed in TF core, see previous thread link)
  • Any other idea?

Note that if we decide to compile the protobufs from the new TF Java client, it will brings its load of additional dependencies, such as grpc.

CC: @sjamesr

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions