TensorFlow vs Keras vs PyTorch
TensorFlow | Keras | PyTorch | |
---|---|---|---|
API level | high / low | high | low |
Speed | very fast | slower | very fast |
Dataset | large | small | large |
Debugging | hard | easy/less frequent | easy |
Most commonly used | Image | NLP / Computer Vision | |
company |
API
-
API : application programming interface
- Low : more detailed. And allows you to have more detailed control to manipulate functions
- High: more simply , easier
Keras
- Keras: wait for tensorflow to finish its implementation then starts its own implementation
Dataflow
-
Dataflow
-
Advantage:
-
Parallelism
->easy for the system to identify operations executed in parallel -
Distributed execution
- -> it is possible for TensorFlow to partition our program across multiple CPU/GPU as all tensors(variables) are immutable (can NOT update the content, and only new tensor will be created).
-
Parallelism
-
Process:
- Define the dataflow graph
- Create a TensorFlow session and Run
-
terms
- node: units of computation
- edges: data consumed/produced by a computation
- tensor: variable e.g., x and y
- operator: mathematical operator e.g., + and /
-
https://www.i2tutorials.com/how-do-you-build-computational-graph-in-tensorflow/