Get startedGet started for free

What is Keras?

1. What is Keras?

Welcome to this course on deep learning! I'm Miguel and I'm very excited to be teaching you Keras here on Datacamp. This course will add Keras as a powerful tool to your arsenal. Keras is a high level deep learning framework,

2. Theano vs Keras

to understand what it's meant by that we can compare it to a lower level framework like Theano. Building a neural network in Theano can take many lines of codes and requires a deep understanding of how they work internally. Building and training this very same network in Keras only takes a few lines of code. Much quicker,right?

3. Keras

Keras is an open source deep learning library that enables fast experimentation with neural networks. It runs on top of other frameworks like Tensorflow, Theano or CNTK. And it was created by French AI researcher François Chollet.

4. Why use Keras?

So, why use Keras instead of other low-level libraries like TensorFlow? Well, with Keras you can build industry-ready models in no time, with much less code than Theano, as we saw before, and a higher abstraction than that offered by TensorFlow. This allows for quickly and easily checking if a neural network will get your problems solved. In addition, you can build any architecture you can imagine, from simple networks to more complex ones like auto-encoders, convolutional or recurrent neural networks. Keras models can also be deployed across a wide range of platforms like Android, iOS, web-apps, etc.

5. Keras + TensorFlow

It's the best moment to be learning Keras. Keras is now fully integrated into TensorFlow 2.0, so you can use the best of both worlds as needed and in the same code pipeline. If as you dive into deep learning, you find yourself needing to use low-level features, for instance to have a finer control of how your network applies gradients, you could use TensorFlow and tweak whatever you need.

6. Feature Engineering

Now that you know better what Keras is and why to use it, perhaps we should discuss when and why to use a neural network in the first place. Neural networks are good feature extractors, since they learn the best way to make sense of unstructured data. Previously, it was the domain expert that had to set rules based on experimentation and heuristics to extract the relevant features of data. Neural networks can learn the best features and their combination, they can perform feature engineering themselves. That's why they are so useful. But what is unstructured data?

7. Unstructured data

Unstructured data is data that is not easily put into a table. For instance, sound, Videos, images, etc. It's also the type of data where performing feature engineering can be more challenging, that's why leaving this task to neural networks is a good idea.

8. So, when to use neural networks?

If you are dealing with unstructured data, you don't need to interpret the results, and your problem can benefit from a known architecture, then you probably should use neural networks. For instance, when classifying images of cats and dogs: Images are unstructured data, we don't care as much about why the network knows it's a cat or a dog, and we can benefit from convolutional neural networks. So it's wise to use neural networks. You will learn more about the usefulness of convolutional neural networks later on in the course.

9. Let's practice!

It's now time to review these key concepts, let's go!