Skip to content

Official 0.3.0 release with TensorFlow 2.4.1 support #230

Description

@maziyarpanahi

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

Hi,
We are migrating our library to use this native Java library for TensorFlow 2.x (thank you so much for the work you have done here so far!): JohnSnowLabs/spark-nlp#2324

We have some models from TF Hub which require SentencePiece (Universal Sentence Encoder for instance). I have successfully managed to migrate them to use tensorflow-text via loadLibrary. Unfortunately, tensorflow-text doesn't support Windows below TensorFlow 2.4.1.

I was wondering since the master is now using TensorFlow 2.4.1 with the auto-build for 0.3.0-SNAPSHOT, is there an ETA on when it will be released officially and move SNAPSHOT to 0.4.0?

System information

  • TensorFlow version (you are using): 2.3.1
  • Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
Current 0.2.0 released on Maven is compatible with TensorFlow 2.3.1, however, tensorflow-text starts supporting Windows from 2.4.1: https://github.com/tensorflow/text/releases/tag/v2.4.1
The issue with SentencePiece and tensorflow-text has been mentioned here a few times. I have successfully managed to load tensorflow-text for macOS and Linux, but I am very interested to see if the Windows support works in both tensorflow-text and TensorFlow Java.

Will this change the current api? How?
No

Who will benefit with this feature?
Any model on TF Hub that requires SentencePiece/tensorflow-text will be compatible with Windows machines.

Any Other info.

Activity

  1. karllessard commented on Mar 2, 2021

    @karllessard
    Collaborator

    Hi @maziyarpanahi ,

    The code base for 0.3.0, that includes support for TF 2.4.1, is indeed ready (or almost ready) to be released. But we are having issues with our build system right now (mostly hosted on GitHub Actions), preventing us to produce the artifacts for that release.

    We are actively working to solve definitely this issue, since the stability of our build platforms has always been one of our greatest challenge. We'll keep you in touch, thank you for your patience!

    CC\ @joanafilipa

  2. maziyarpanahi commented on Mar 2, 2021

    @maziyarpanahi
    Author

    Hi @karllessard

    Thanks for your quick response, I appreciate it.

    I'll watch this issue for any new developments and wish you guys the best of luck.

  3. brychcy commented on Mar 12, 2021

    @brychcy
    Contributor

    Yes please please please make a release, we're really waiting for it since November (#138)

  4. nebulorum commented on Mar 12, 2021

    @nebulorum

    I attempted to use the 0.3.0 version on top of 0.2.0 project and there are a lot of API changes. The readme in Master does not refer to this. Is there a migration guide?

  5. karllessard commented on Mar 12, 2021

    @karllessard
    Collaborator

    Yes please please please make a release, we're really waiting for it since November (#138)

    Well, good news! We did good progress to fix our various build issues and should be able to make a release soon, I'll provide more details later, probably today.

    I attempted to use the 0.3.0 version on top of 0.2.0 project and there are a lot of API changes. The readme in Master does not refer to this. Is there a migration guide?

    The only breaking change that I'm aware of is that Tensor class is no longer parameterized and now Tensor<TFloat32> can be simply replaced by TFloat32, as an example. It does make sense though to guide our users to understand what this change means and how to migrate easily between both versions, I'll make sure to write such instructions before releasing, thank you @nebulorum

  6. karllessard commented on Mar 12, 2021

    @karllessard
    Collaborator

    So after discussing with the SIG, I’m planning to make a release of 0.3.0 from the actual snapshot by March 15th.

    Only detail is that the Windows -mkl-gpu platform will be missing for that release since TF 2.4.1 does not seem to support that configuration natively. All other platforms will be available.

  7. saudet commented on Mar 12, 2021

    @saudet
    Contributor

    @karllessard BTW, maybe we can now build for the same list of compute capabilities as the binaries on PyPI?
    https://github.com/tensorflow/java/blob/master/tensorflow-core/tensorflow-core-api/build.sh#L23

  8. karllessard commented on Mar 13, 2021

    @karllessard
    Collaborator

    We can certainly give it a try, can you send me the list of capabilities or even better, make a PR for it so we'll see if the build passes? I'll apply the CI Build label to it

  9. rnett commented on Mar 13, 2021

    @rnett
    Contributor

    See #200. I think the official is 3.5, 5.0, 6.0, 7.0, 7.5, 8.0 and higher than 8.0, not sure how to specify 8.0+. I was never able to find an exact build command anywhere. There was also a request to include 3.7 for K80, but that seems like it was supported by the official releases so maybe 3.5 covers it?

  10. karllessard commented on Mar 14, 2021

    @karllessard
    Collaborator

    I've just added the same capabilities than the official TF release, which includes all of the above. We don't build anymore for Cuda 10.1 though, @saudet is that right/ok?

  11. saudet commented on Mar 14, 2021

    @saudet
    Contributor

    Probably, I'm not aware of the core team ever supporting more than a single version of CUDA.

  12. karllessard commented on Mar 15, 2021

    @karllessard
    Collaborator

    TensorFlow Java 0.3.0 has been officially released today, enjoy! ;)

    A migration guide is also available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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