4 ms·
I'm curious what people think are the pros and cons of using Keras, vs using TensorFlow directly.
by lacker 11y ago
I'm curious what people think are the pros and cons of using Keras, vs using TensorFlow directly.
- dbecker 11y agoKeras is significantly higher-level (in the sense that Python is a higher-level language than C). I find it much easier to write in Keras, and think I'm less likely to make mistakes. There are a variety of other wrappers for Tensorflow (skflow, tf-slim) that may someday be released as part of the Tensorflow project. But Keras is far more mature than those right now.
- fchollet 11y agoA 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 11y agoUpvoting this thread because of fchollet's response. (fchollet is the creator of and lead contributor to Keras). Great job!