Skip to content

🚀 Contributing to Keras 🚀 #18442

Open
@fchollet

Description

@fchollet

Keras 3 is a high-velocity open-source project. We welcome contributions! Here's what you can do:

Take up one of these items:

Here are some features that we'd love to see implemented by the Keras community:

  • Update FeatureSpace as well as preprocessing layers that have an adapt() method, to make adapt() consume arbitrary Python iterables rather than just tf.data Datasets.
  • Add cuDNN support for PyTorch RNNs by implementing keras/backend/torch/rnn.py:cudnn_lstm and cudnn_gru.
  • Add support for ONNX in model.export() and ExportArchive. On the TF and JAX side, we can transit via SavedModel. On the torch side, we can do a native export.
  • Add rematerialization support to KerasHub LLMs.
  • Contribute to the MLX backend. We have a mlx branch on the repo, which does not yet have full operation converge in keras/src/backend/mlx/. Add missing ops and help get the new MLX backend closer to the finish line!

Check out TODOs

There are various TODOs in the codebase. You can do a quick search (e.g. grep "TODO" keras/ -r) and see if anything looks interesting to you. Make sure to ask in this thread before starting work on any item!

Bring new pretrained model implementations to KerasHub

The Keras ecosystem package KerasHub is looking for contributors!
If you'd like to port a pretrained model implementation to the Keras ecosystem, that's a great project to join.

Convert an example from keras.io to Keras 3

keras.io/examples offers many great tutorials, but many of them are still based on Keras 2. We'd like to bring over in the shiny new world of multi-framework ML.

There are two stages of conversion:

  1. Converting a Keras 2 example so that it can run on Keras 3 with the TF backend.
  2. Converting a Keras 2 example so that it can run on Keras 3 with any backend.

If you see an example marked as "v2" on keras.io/examples, you can open a PR on keras-team/keras-io to convert it to Keras 3. Keep in mind:

  • Start by only including the Python file in the PR, not the md and ipynb files, because you may have to regenerate those after review comments come in.
  • To convert the code, you can refer to the Keras 3 migration guide.

Add new examples to keras.io

Have a great ML project you'd like to use to teach others about ML? You can add a new tutorial on keras.io/examples! Just follow the instructions at keras-team/keras-io.

Increase test coverage

Keras doesn't have 100% code coverage in unit tests just yet. You can try to run a code coverage tool like codecov and see if there are any unit tests you could add to improve Keras.

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