---
# System prepended metadata

title: <center><i class="fa fa-edit"></i> Keras </center>
tags: [Internship]

---

# <center><i class="fa fa-edit"></i> Keras </center>
###### tags: `Internship`
:::info
**Goal:**
- [x] Keras
- [x] Keras v TensorFlow

**Resources:**

- [Python TensorFlow Tutorial](https://adventuresinmachinelearning.com/python-tensorflow-tutorial/)
- [LSTM Implementation in Python/Numpy](https://gist.github.com/tmatha/f1c7082acdc9af21aade33b98687f2c6)
- [LSTM Implementation in TensorFlow eager execution](https://gist.github.com/tmatha/905ae0c0d304119851d7432e5b359330)

:::

## Keras

- **Keras** is a high-level API that is built on top of TensorFlow. It is extremely user-friendly and comparatively easier than TensorFlow

So, after read those informations, we come up with these questions:
1. If **Keras** is built on top of TF, what’s **the difference** between the two then? 
2. If **Keras** is **more user-friendly**, why should I ever use Tensorflow for building deep learning models?

### Difference between Keras and tensorflow
- Definition
    - **TensorFlow** is an open-sourced library that’s available on GitHub
    - **Keras** is a high-level library that’s built on top of Theano or TensorFlow
- Key point
    - The development of **Keras** is to facilitate experimentations by fast prototyping
    - **Keras** was developed with the objective of allowing people to write their own scripts without having to learn the backend in detail
    - Developers can use **Keras** to quickly build neural networks without worrying about the mathematical aspects of tensor algebra, numerical techniques, and optimization methods
    - But **Keras** won’t work if you need to make low-level changes to your model. therefore you need **tensorflow**

