ML Libraries PPT (3.3)
ML Libraries PPT (3.3)
Numpy and
02
Vectorization
NumPy is a powerful Python library used for numerical computing, particularly in data
science, machine learning, and scientific computing. It provides support for large,
multi-dimensional arrays and matrices, along with a collection of high-level
mathematical functions to operate on these arrays.
Vectorization refers to performing operations element wise without explicitly specifying loops, leading to a
cleaner and computationaly efficient code
In essence, vectorization allows for the application of operations (such as addition, multiplication, etc.)
directly on whole arrays or large sets of data without the need for explicit loops.
It significantly enhances performance by leveraging low-level optimizations and parallelization under the
hood.
Search
Parallelization in BLAS:
Many BLAS implementations support multi-threading,
meaning that matrix operations (like multiplication or
addition) can be performed across multiple CPU cores
simultaneously.
For example, when multiplying two large matrices, BLAS will
split the computation across cores, performing block-level
matrix multiplications in parallel.
Search
04
Pandas and
Datasets
Relevance
Machine Learning is all about that data isn’t it?
Well this library allows us to perform data aggregation, transformation and is wildly
flexible
Panda provides DataSeries and DataFrames(which are essentially Series indexed on
the same attributes)
With flexibility to support variety of other libraries and being supported by countless libraries, PyTorch proves to
be indispensable for Machine Learning applications, in the above image you coan see some specific methods for
date-time parsing and processing among other methods that aid data manipulation and cleaning
Search
09
PyTorch
PyTorch is an optimized Deep Learning tensor library based on Python and Torch
and is mainly used for applications using GPUs and CPUs. PyTorch is favored
over other Deep Learning frameworks like TensorFlow and Keras since it uses
dynamic computation graphs and is completely Pythonic. It allows scientists,
developers, and neural network debuggers to run and test portions of the code
in real-time. Thus, users don’t have to wait for the entire code to be
implemented to check if a part of the code works or not.
Tensor Computation (similar to NumPy) with strong GPU (Graphical Processing Unit) acceleration
support
Automatic Differentiation for creating and training deep neural networks
Search
TensorFlow
08
08
PyTorch vs TensorFlow
Although PyTorch also supports distributed Optimized for scalability and production-ready
training, it has historically been considered less deployment. It supports various deployment
optimized for large-scale production compared to options, such as TensorFlow Serving, TensorFlow
TensorFlow. However, PyTorch has made Lite (for mobile), and TensorFlow.js (for running
significant improvements in this area models in browsers). TensorFlow can be deployed
on multiple platforms with ease.
Known for being more Pythonic and easier to use, especially Initially had a steeper learning curve due to its
for research. The dynamic nature of PyTorch makes it static graph approach. However, with TensorFlow
intuitive, and you can write code in a straightforward 2.x and the integration of Keras as the default
manner, just like normal Python code high-level API, it has become much easier to use,
even for beginners.
04
The Scikitlearn
Library
Scikit-learn is an open-source Python library that implements a range of machine learning, pre-
processing, cross-validation, and visualization algorithms using a unified interface. It is an open-
source machine-learning library that provides a plethora of tools for various machine-learning tasks
such as Classification, Regression, Clustering, and many more.