Description
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 anadapt()
method, to makeadapt()
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
andcudnn_gru
. - Add support for ONNX in
model.export()
andExportArchive
. On the TF and JAX side, we can transit viaSavedModel
. 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 inkeras/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:
- Converting a Keras 2 example so that it can run on Keras 3 with the TF backend.
- 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
andipynb
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.