keras-team/keras-hub

📢 KerasNLP is now KerasHub 📢

mattdangerw opened this issue · 1 comments

tl;dr

  • We have consolidated KerasNLP and KerasCV into a new KerasHub package.
  • We have renamed the keras-nlp GitHub repository to keras-hub.
  • All existing usages will continue to work!
    • You can still run pip install keras-nlp & import keras_nlp—nothing will break. The same applies to keras_cv.

What's happening

Popular pretrained models are increasingly becoming multi-modal. In the text domain, chat LLMs are adding support for image and audio inputs and outputs. In the vision domain, using text encoders is common for a wide range of tasks from image segmentation to image generation.

We no longer believe any particular division of pretrained models will serve the Keras ecosystem effectively going forward. Distinctions between model architectures (transformers vs. convnets vs. diffusion models) are becoming blurred, as are divisions between modalities.

By consolidating into a single library focused on easy-to-use, pretrained architectures and weights, we can deliver better features that apply across all pretrained models—easy model publishing and sharing, PEFT and quantization support, and scaled multi-host training.

To this end, we have consolidated KerasNLP and KerasCV into the KerasHub package.

The plan

We’ve started by renaming the KerasNLP library to KerasHub. KerasNLP already supports multiple modalities with models like PaliGemma, alongside many features (like easy model publishing) that we are extending to CV models.

  • The repository has been renamed to keras-hub. Library symbols have been renamed from keras_nlp to keras_hub.
  • A keras_nlp package remains, maintaining backward compatibility with all previous imports.
  • To migrate from keras_nlp to keras_hub, you can simply find and replace all instances of keras_nlp with keras_hub in your code.
  • keras_cv models will gradually move to keras_hub. You can expect some usage changes to CV models to ensure a consistent user experience across modalities.

When is this happening

The repository now serves as a preview for the official KerasHub release. However, the keras-hub package has not yet had its official release. If you'd like to try things out as we continue building, you can do so by installing our nightly package: pip install keras-hub-nightly.

We’re aiming for an official release of KerasHub by mid-October.

Feedback and help

We greatly value any feedback from the community! Please feel free to share your thoughts here.

Additionally, we have a number of issues related to the migration with the contributions welcome tag.

Update: we have now renamed the repository and code to keras-hub, but we have not yet released the KerasHub package.

If you would like to try things out as we build, use the nightly package: pip install keras-hub-nightly. If you want the backwards compatible keras_nlp imports, you can try that on nightly too: pip install keras-nlp-nightly.

Lastly, if you were building the package from source, and want to keep things working with the old imports, you will need to install as follows:

!pip install "git+https://github.com/keras-team/keras-hub" "git+https://github.com/keras-team/keras-hub#subdirectory=keras_nlp"

That will install both the new keras_hub source, as well as a keras_nlp shim package.

As always, feedback welcome!