
Keras 1.0 – Python deep learning framework - fchollet
http://blog.keras.io/introducing-keras-10.html
======
lacker
I'm curious what people think are the pros and cons of using Keras, vs using
TensorFlow directly.

~~~
fchollet
A few advantages:

\- it's much easier to use. Using pure TensorFlow is considered "advanced" and
requires familiarity with deep learning, understanding of what a symbolic
computation graph is, etc. Keras, meanwhile, is meant to make deep learning
more accessible.

\- even if you don't care about accessibility, Keras provides higher-level
building blocks that speed up your workflow even if you are an expert. It is
currently used by dozens of companies and hundreds of researchers, precisely
for this reason: it allows quick prototyping.

\- with Keras, you can work with both Theano and TensorFlow interchangeably.
They complement each nicely in a workflow: TensorFlow has low compilation
times, which is great for debugging, and Theano tends to be faster for runtime
(especially for RNNs). So you can prototype in TF, train in Theano, then to
switch to production you can export the TF model.

~~~
cs702
Upvoting this thread because of fchollet's response. (fchollet is the creator
of and lead contributor to Keras).

Great job!

------
ipunchghosts
I use Keras daily and find it very easy to use. It provides a nice set of
examples to learn how to use it. Its also very easy to access the
theano/tensorflow backend in a generic way.

Keep up the great work!

------
wyldfire
> Keras is a minimalist, highly modular neural networks library, written in
> Python and capable of running on top of either TensorFlow or Theano.

I hear a lot about new ML/neural network frameworks these days and it's
difficult to know which complement other frameworks and which build upon other
frameworks/create another layer.

Congrats on the 1.0 release!

------
emailgregn
Congratulations on hitting 1.0, Keras really looks like the way forward for
python ML. I tried to use Keras after doing Andrew Ng's Coursera course but
found that I just couldn't connect the dots from what I'd learned on the
course to the concepts assumed familiar by the keras documentation though.

~~~
fchollet
Yes, I think we should work on a FAQ to introduce common ML concepts and their
implementation in Keras. Any specific concept that you had trouble with?

~~~
etiam
You may wish to coordinate a bit with this?: [http://www.wildml.com/deep-
learning-glossary/](http://www.wildml.com/deep-learning-glossary/)

I came across that glossary a few days ago when looking to solve an RNN
problem with a deadline. You may be pleased to know I think I may have solved
it by switching to Keras, and this post actually helped unsticking me from a
smaller problem too. Thanks, and congratulations on version 1.0!

------
wodenokoto
Are activations still their own layer? Or are they moving away from that?

I'm brand new to Keras and online tutorials say that "everything, even
activations are their own layer" but I can see that all the layers have a
activation argument.

~~~
fchollet
Layers have always had an activation argument, this is not new. And yes, there
is still an Activation layer. You can specify an activation function via
either option.

------
ipunchghosts
What updates can we expect to see in Keras of the next year?

------
das1029
Seems that Keras API is just same as Torch API now

------
superfx
Can you explain by what is meant by a functional API? Functional as in
functional programming?

------
greesil
Hey hey I don't see autoencoders anymore. Is that going to be coming back?

~~~
fchollet
The functional API removes the need for a dedicated autoencoder layer. But
maybe in the future we will have a dedicated autoencoder _model_ , if there's
interest in that (with autoencoder-specific methods).

