
Artificial Intelligence (AI) and Machine Learning (ML) are important cloud computing fields that involve the implementation of multiple software packages. These packages offer developers a suite of ready-to-deploy programs that handle specific tasks. This way, you can focus on building solutions instead of writing underlying code and implementing complex algorithms from scratch.
This article explains important packages commonly used to build production-ready Machine Learning and Artificial Intelligence applications.
TensorFlow is an open-source library of tools designed to accelerate Machine Learning tasks. It is used in both machine learning and deep learning models with support for CPUs, GPUs, and TPUs. By application, TensorFlow is commonly used for tasks such as:
To install TensorFlow in a Python environment, use a package manager such as pip
When installed, import TensorFlow to your applications to start using the package
To use TensorFlow on your server, visit the following resources:
PyTorch is an open-source framework based on the Torch machine learning library that’s commonly used in Computer Vision (CV) and Natural Language Processing (NLP) tasks. PyTorch packages work on both GPU and CPU systems with the ability to:
To install PyTorch in a Python environment, use a package manager such as pip and specify the system type, whether GPU or CPU. For example, install PyTorch with GPU support
Install PyTorch with CPU support
To use PyTorch on a Vultr Cloud Server, visit the following resources:
PyTorch Lightning is a community-driven version of PyTorch designed to flexibly perform deep learning tasks without affecting system performance. It supports multi-GPUs, TPUs, 16-bit and 32-bit precision floats to perform tasks such as:
To Install PyTorch Lighting in a Python environment, use a package manager such as pip or conda:
Python Pip
Conda
For more information on how to use PyTorch Lightning, visit the official documentation.
Keras is a high-level open-source deep-learning library for implementing neural networks. It's based on TensorFlow and packages many lower-level functions into single API endpoints. Keras includes modules to implement different types of neural network layers and combine layers to create models. This allows developers to choose from different optimizers, activation functions, and evaluation metrics. Keras is used in different applications such as:
To user Keras, import it from the TensorFlow package in your project
Visit the following resources to implement Keras on your Vultr Cloud Server:
KerasCV is a horizontal extension of the Keras core library that includes modular Computer Vision (CV) components. Keras CV models are used to access many pretrained models such as Stable Diffusion and Vision Transformer to perform machine learning tasks such as:
To install the latest KerasCV version in your Python environment, use the pip package manager and upgrade Tensorflow
When installed, import the package together with Keras core in your application
For more information, visit the KerasCV documentation
Numerical Python (NumPy) is an open-source numerical scientific computing library used in Python applications. It supports linear algebra operations on high-dimensional vectors and tensors, performs mathematical operations like arithmetic, trigonometry, and complex numbers which makes it a necessary package for handling computation tasks. NumPy works directly on CPU systems with no direct support for GPUs, TPUs, or multi-GPU cluster systems to perform tasks such as:
To install NumPy, use a package manager such as Pip or Conda as described below:
PIP:
Conda:
Visit the following resources to implement NumPy:
Scientific Python (SciPy) is an open-source collection of libraries designed to perform mathematics, science, and engineering tasks built to extend NumPy functionalities. It uses sub-packages to perform low-level scientific computation tasks like numerical integration and differentiation, differential equations and eigenvalue problems, signal processing, and Fourier Transforms in applications such as:
You can install SciPy as a Python module, or use a package manager as described below:
Python Module:
Debian/Ubuntu:
CentOS/ RHEL:
PIP:
Conda:
For more information on how to use SciPy, visit the official user guide.
JAX is a high-performance library for numerical computations and allows you to run NumPy functions on GPU and TPU systems. It shares the same syntax as NumPy, and supports complex low-level functions such as automatic and higher-order differentiation. However, JAX follows a pure functional programming paradigm and it's implemented in projects such as:
To install JAX, use the Python pip package manager and use the matching system CPU or GPU package
On a GPU-based system, replace the [cpu] value with your GPU driver. For example, CUDA 12 and reference the releases file to install extra dependencies
For more information on how to use JAX, visit the official developer documentation.
Flax is an open-source neural network library based on the JAX framework. It supports Neural network research and model development with the ability to use its API to:
To install Flax, use the pip package manager
For more information on how to use the package, visit the official Flax documentation.
scikit-learn is a Python module designed for machine learning and data analysis tasks. It supports a variety of machine learning techniques such as classification and clustering, random forests, Support Vector Machines (SVMs), among others. Scikit-learn is built on top of NumPy, SciPy, and matplotlib with common usage in applications such as:
Use a package manager such as Pip or Conda to install scikit-learn for use in your applications
Pip:
Conda:
To build applications using scikit-learn, visit the following resources:
pandas is a Python package that provides fast, extensive, and flexible data structures to create data analysis applications. It supports working with relational and labeled data with common usage in the following operations:
To install pandas, use a package manager such as Conda or Pip
Conda:
Pip
To use pandas, import it to your application environment
To use Panda on a Vultr Cloud Server, visit the following resources:
Hugging Face is an open-source community-driven platform that hosts ready-to-use models, datasets, and applications. Hugging Face Hub is the main platform repository that includes a large collection of machine learning and deep learning models. Using the platform, you can upload models, checkpoints, and datasets, or build projects using popular open-source models such as Transformers, Diffusers, Datasets, among others described in the following sections.
Hugging Face Transformers is a machine learning package designed to work with PyTorch, TensorFlow, and Jax. It provides tools and APIs with access to over 25,000 pretrained models you can download and use in your project environment. You can use available models in projects such as:
Visit the following resources to implement Transformers on a Vultr Cloud GPU Server:
Diffusers is a Hugging Face library that consists of pretrained diffusion models designed to perform image generation, audio, and 3D structure tasks. It consists of diffusion pipelines, noise schedulers, and pretrained models. Commonly, you can use the Diffusers library for tasks such as:
To implement Diffusers in your project environment, visit the following resources:
Hugging Face Datasets is a library that allows you to access and share datasets for Audio, Computer Vision, and Natural Language Processing (NLP) tasks. The library streamlines the process of exporting and sharing datasets to use in your projects. Commonly, you can use the library for tasks such as:
To implement Hugging Face Datasets in your project, visit the following resources:
TensorFlow Datasets is a library that consists of read-to-use datasets for TensorFlow, Jax, NumPyand supported machine learning frameworks. It downloads and prepares data by constructing tf.data.Dataset or NumPy array np.array. You can apply TensorFlow datasets to:
To install the TensorFlow Datasets library, use the Python Pip package manager:
To use the datasets, import the package to your application environment:
For more information, visit the TensorFlow Datasets documentation.
Matplotlib is a visualization Python library for creating static, animated, and interactive visualizations. You can use the package to:
To install Matplotlib, either use the Python Pip package manager or Conda:
Pip
Conda
For more information and how to use Matplotlib, visit the official documentation.
Open Source Computer Vision (OpenCV) is an open-source library that includes hundreds of computer vision algorithms optimized for real-time applications. It supports GPU-based operations and offers a Python API interface with a modular structure. You can use OpenCV in application tasks such as:
The cv2 package exposes the OpenCV Python API for use in applications. To implement the library, visit the following resources:
Pillow is a fork of the Python Imaging Libary (PIL) imaging library that enhances the Python shell interpreter with basic image processing capabilities. It supports multiple file formats and internal data representation. You can apply Pillow in your environment to perform tasks such as:
To install Pillow, use the Python Pip package manager
To use Pillow in your application environment, visit the following resources:
PyTorch Image Models (TIMM) is a collection of image models, utilities, optimizers, and PyTorch image models designed for Computer Vision (CV) tasks. You can use TIMM to access:
To install TIMM, verify that PyTorch is available on your system and use the Python Pip Package manager to add TIMM to your environment
For more information on how to use TIMM, visit the official documentation.
Albumentations is a flexible image augmentation machine learning library written in Python. Through the image augmentation process, it supports the modifications of existing images for use in tasks such as Computer vision models that require multiple images in a training set. Based on OpenCV, Albumentations is commonly used in tasks such as:
To install Albumentations in your environment, use the Pip package manager
For more information and usage examples, visit the Albumentations documentation.
Accelerate is a library that enables the re-use of existing PyTorch code across any distributed configuration. This is important when running multiple CPUs, GPUs, or TPUs, the same PyTorch training code is re-used and can run on any system. Hence, the primary Accelerate use case is to make PyTorch code highly reusable.
To install Accelerate, use the Conda or the Python Pip package manager
Conda:
Pip
To access Accelerate code samples, visit the official documentation.
xFormers is an open-source library that extends the Hugging Face Transformers library functionalities. It provides customizable building blocks to construct transformer models, and can be used to:
To install xFormers in your environment, either use Conda or Pip.
Conda:
Pip
For more information about xFormers, visit the project repository.
Einops is a powerful library designed to handle the notation of tensor operators. Tensors are the building blocks of deep learning models while Numerical operations involve complex mathematical rules. Tensor variables are written with superscripts, subscripts, and other notational artifacts. These notations are not always consistent across different publishers, packages, and programmers, but can be normalized with Einops to perform tasks such as:
To install the Einops library, use the Python Pip package manager
For more information on how to use Einops, visit the official documentation.
Evaluate is a machine learning and datasets evaluation library that enables the scrutinization of Natural Language Processing (NLP), Computer Vision, and Reinforcement learning tasks. The package enables the use of a single line of code to evaluate models consistently.
To install Evaluate, use the Python Pip package manager
For more information and code samples, visit the Evaluate documentation.
Jupyter Notebook is a self-hosted interactive web application for creating and sharing computational documents that may contain code, descriptions, visualization data, illustrations, or control elements. It supports common programming languages such as Python, Julia, and R. By usage, Jupyter Notebook allows you to:
To install Jupyter Notebook on your system, visit the following resources:
JupyterLab is a self-hosted web-based Interactive Development Environment (IDE) that supports computational documents and development. The IDE supports file formats such as CSV, JSON, markdown, among others, and offers ease-of-use features such as:
To install and use JupyterLab, visit the following resources:
You have explored common machine learning and artificial intelligence packages. Depending on your project needs, there are many libraries you can deploy to extend your application functionalities. For the best performance, it's recommended to run packages on a GPU-based instance such as a Vultr NVIDIA A100 Cloud server.
0 Comments
Be the first to comment and share your perspective with the community.