You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@madlib.apache.org by "Domino Valdano (Jira)" <ji...@apache.org> on 2020/08/10 23:51:00 UTC

[jira] [Created] (MADLIB-1450) Remove dependency on keras

Domino Valdano created MADLIB-1450:
--------------------------------------

             Summary: Remove dependency on keras
                 Key: MADLIB-1450
                 URL: https://issues.apache.org/jira/browse/MADLIB-1450
             Project: Apache MADlib
          Issue Type: Improvement
          Components: Deep Learning
            Reporter: Domino Valdano
             Fix For: v1.18.0


Presently, we require that users install both standalone "multi-backend" `keras` and `tensorflow` python modules in order to use the DL features of madlib.

But there is no good reason for the keras requirement, as keras has come included with tensorflow since 2017, starting with version `1.4.0`:

[https://github.com/tensorflow/tensorflow/tree/v1.4.0/tensorflow/python/keras]

In fact, the multi-backend version of keras is a dead project, no longer maintained by anyone.

As it says on [https://github.com/keras-team/keras]:

*Multi-backend Keras has been discontinued. At this time, we recommend that Keras users who use multi-backend Keras with the TensorFlow backend switch to {{tf.keras}}* 

Keras 2.2.5 was the last release to support backends other than tensorflow, now it is just maintained as a part of the tensorflow module.

Because madlib 1.17.0 does not import `tensorflow` directly, users still must have the old multi-backend keras module installed in order to use our DL features.

In order to fix this, dropping the keras dependency, in 1.18.0 we should switch from using:

`import keras`

`from keras.backend import tf`

to:

`import tensorflow as tf`

`from tensorflow.python import keras`

We can continue using both `tf` and `keras` as before, without touching anything but the import statements.

Another motivation for this change is that `keras 2.2.5` no longer includes `keras.tf`, so our current method of importing only works up through `keras 2.2.4`.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)