Skip to content


Switch branches/tags

Scikit-Learn Wrapper for Keras

Build Status Coverage Status Docs

Scikit-Learn compatible wrappers for Keras Models.

Why SciKeras

SciKeras is derived from and API compatible with tf.keras.wrappers.scikit_learn. The original TensorFlow (TF) wrappers are not actively maintained, and will be removed in a future release.

An overview of the advantages and differences as compared to the TF wrappers can be found in our migration guide.


This package is available on PyPi:

# Normal tensorflow
pip install scikeras[tensorflow]

# or tensorflow-cpu
pip install scikeras[tensorflow-cpu]

SciKeras packages TensorFlow as an optional dependency because there are several flavors of TensorFlow available (tensorflow, tensorflow-cpu, etc.). Depending on one of them in particular disallows the usage of the other, which is why they need to be optional.

pip install scikeras[tensorflow] is basically equivalent to pip install scikeras tensorflow and is offered just for convenience. You can also install just SciKeras with pip install scikeras, but you will need a version of tensorflow installed at runtime or SciKeras will throw an error when you try to import it.

The current version of SciKeras depends on scikit-learn>=1.0.0 and TensorFlow>=2.7.0.

Migrating from tf.keras.wrappers.scikit_learn

Please see the migration section of our documentation.


Documentation is available at