Framework and Hardware
You will learn: most-used framework and hardware for AI and ML applications.

ML Framework

Tensorflow

TensorFlow is a Google's machine learning open-source platform that focuses on the end-to-end system for managing all aspects of a machine learning system, from training, evaluation, production, and deployment of models. TensorFlow is arranged in a hierarchical APIs structure that allows high-level features such as calls to tf.keras (Keras framework reviewed below) to low-level APIs features like model deployment and deep exploration of ML models.
TensorFlow toolkit hierarchy.
Tensorflow ecosystem is build to allow easy and fast development of ML models using Python, JavaScript, Swift, and mobile platforms like iOS, Android, and Raspberry.
Tensorflow provides built-in libraries and extensions such as:
  • Tensorboard: A suite of visualization tools to understand, debug, and optimize TensorFlow programs.
  • TensorFlow Hub: A library for the publication, discovery, and consumption of reusable parts of machine learning models.
  • Model Optimization: The TensorFlow Model Optimization Toolkit is a suite of tools for optimizing ML models for deployment and execution.
  • Datasets: A collection of datasets ready to use with TensorFlow.
  • Serving: A TFX serving system for ML models, designed for high-performance in production environments.

Keras

Keras is a deep learning framework that was initially released in March 2015. Keras provides a layer of abstraction on top of TensorFlow or Theano. The reason why it is used is :
  1. 1.
    Modularity: users can define their neural networks following a sequence which is a linear stack of layers.
  2. 2.
    Minimalism: functions included in the library allow the user to create and modify network layers easily.
  3. 3.
    Extensibility: daily updates provide solutions to ongoing challenges faced by deep learning researchers.
Moreover, Keras works in Python environments, which gives users the freedom to use additional Python dependencies.
Keras also offers other extensions such as:
  • AutoKeras: rapid model prototyping
  • TensorFlow Cloud: scalable model training in on GCP
  • Keras Tuner: hyperparameter tuning

PyTorch

PyTorch is a library for Python programs that facilitates building deep learning projects. It emphasizes flexibility and allows deep learning models to be expressed in idiomatic Python. This approachability and ease of use found early adopters in the research community, and in the years since its first release, it has grown into one of the most prominent deep learning tools across a broad range of applications.
High-level structure of an end-to-end PyTorch project.

AutoML

Automated machine learning for production and analytics. Lets you focus on the fun parts of ML, while outputting production-ready code, and detailed analytics of your dataset and results. Includes support for NLP, XGBoost, LightGBM, and soon, deep learning.

ML Hardware

🚧 GPUs and TPUs

Under construction! ✍️ Get back soon!

Readings

GPU vs CPU: What's the difference?
The Official NVIDIA Blog
Last modified 1yr ago