From 94960da5ea5ff4a90d01f08634a5eff84bdb7330 Mon Sep 17 00:00:00 2001 From: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Date: Fri, 27 Nov 2020 16:52:19 -0600 Subject: [PATCH] DOC: add comparison to TF wrappers (#133) --- README.md | 18 +++++++++++++++++- docs/source/index.rst | 12 +++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 32fad9541..a68b8ccc0 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,22 @@ 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 mantained, +and [may be deprecated](https://github.com/tensorflow/tensorflow/pull/37201#pullrequestreview-391650001) at some point. +In addition, they have many incompatibilities with both the Keras ecosystem and the Scikit-Learn ecosystem. +SciKeras attempts to resolve these issues by providing maintained, documented wrappers that are fully compatible with the +entire Scikit-Learn and Keras ecosystems. Some advantages over the TF wrappers are: + +* Full compatibility with the Scikit-Learn API, including grid searches, ensembles, transformers, etc. +* Support for pre-trained models. +* Support for dynamically set Keras parameters depending on inputs (e.g. input shape). +* Support for hyperparameter tuning of optimizers and losses. +* Support for multi-input and multi-ouput Keras models. +* Functional `random_state` for reproducible training. +* Many more that you will discover as you use SciKeras! + ## Installation This package is available on PyPi: @@ -14,7 +30,7 @@ This package is available on PyPi: pip install scikeras ``` -The only dependencies are `scikit-learn>=0.22` and `TensorFlow>=2.1.0`. +The only dependencies are `scikit-learn>=0.22` and `TensorFlow>=2.2.0`. ## Documentation diff --git a/docs/source/index.rst b/docs/source/index.rst index 5a067cdac..5ca643aaa 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -3,7 +3,17 @@ Welcome to SciKeras's documentation! The goal of scikeras is to make it possible to use Keras/TensorFlow with sklearn. This is achieved by providing a wrapper around Keras that has an Scikit-Learn interface. -SciKeras is the successor to ``~tensorflow.keras.wrappers.scikit_learn``. +SciKeras is the successor to ``tf.keras.wrappers.scikit_learn``. + +Some advantages over the ``tf.keras.wrappers.scikit_learn`` wrappers are: + +* Full compatibility with the Scikit-Learn API, including grid searches, ensembles, transformers, etc. +* Support for pre-trained models. +* Support for dynamically set Keras parameters depending on inputs (e.g. input shape). +* Support for hyperparameter tuning of optimizers and losses. +* Support for multi-input and multi-ouput Keras models. +* Functional `random_state` for reproducible training. +* Many more that you will discover as you use SciKeras! SciKeras tries to make things easy for you while staying out of your way. If you are familiar with Scikit-Learn and Keras, you don’t have to learn any new concepts, and the syntax should be well known.