ragulpr / wtte-rnn

WTTE-RNN a framework for churn and time to event prediction
MIT License
767 stars 187 forks source link

Keras and Theano why? #57

Closed shalberd closed 4 years ago

shalberd commented 5 years ago

Why do you use Theano that much? I find it hard to work with that because now Google provides Tensorflow and Tensorflow-GPU Docker Images for Kubernetes/openShift where for one things keras is integrated in Tensorflow with different Syntax e.g.

Sequential = tf.keras.models.Sequential Dense = tf.keras.layers.Dense LSTM = tf.keras.layers.LSTM Activation = tf.keras.layers.Activation Masking = tf.keras.layers.Masking RMSprop = tf.keras.optimizers.RMSprop History = tf.keras.callbacks.History

and Theano is not under active development anymore. https://groups.google.com/forum/#!topic/theano-users/7Poq8BZutbY

I am working with Kubeflow 0.5, Tensorflow 1.12 and tf.keras Version 2.1.6-tf

Are there plans to go for that?

I really appreciate that you and Dayne Batten have done with regards to WTTE.

ragulpr commented 4 years ago

I loved Theano, mainly because their dynamic RNN implementation was orders of magnitudes faster than Tensorflow (and may possibly still be, I haven't benchmarked it in a while). RIP! When starting with WTTE-RNN Tensorflow was still at version 0.6 and RNNs was really hard to work with.

WTTE-RNN has been pretty kind w.r.t backwards compatibility. It still supports python 2.7 and Theano, both considered deprecated. If there is a strong reason to drop that support I'd be happy to do it, but until then I'd prefer not to drop that support since people may be relying on it.

It is a bit political of course, but I'm a bit sad to see Keras being swallowed into the Tensorflow API as they will surely drift apart if they haven't done so already. I'm not going to support a Tensorflow-only backend unless there's a very good reason for it. For all I know, we may have CNTK and Theano dependent users still.

I have not followed upon on recent API changes, but last time I checked it was compatible with latest keras 2.x. If you see anything fishy, please raise an issue or PR