Pytorch - AshokBhat/ml GitHub Wiki

About

  • Popular Machine Learning Framework
  • Free and Open source - Modified BSD license.
  • Primary developer: Meta
  • Interface: Python interface (polished and primary focus), C++ frontend
  • 90-day release cycle (major releases)

Versions

See PyTorch Versions

Modes

Mode Work
Eager mode Default execution mode.
Operations are executed immediately.
Allows for dynamic computation graphs
Easy debugging.
Graph mode FX Graph ("Function Exchange Graph") mode
Operators are first synthesized into a graph, which will then be compiled and executed as a whole.
Typically delivers higher performance and hence is heavily used in production.
Useful for quantization tasks

Feature level

Feature Desc Backwards Compatibility Future
Stable Yes Yes
Beta (previously Experimental) No Aim to become Stable
Prototype (previously Nightlies) No Collect feedback, Fail fast

Backend libraries

Library Features Performance on x86 Performance on Arm
NNPACK ML operators Convolution (2x-3x) faster than standard im2col/sgemm implementation
XNNPACK ML operators
QNNPACK Quantized operators Not optimized Optimized for Arm
Eigen fastest BLAS benchmarked on ARM
FBGEMM Quantized GEMM Not optimized
OpenBLAS BLAS and LAPACK Optimized on Arm for FP32

Source: https://caffe2.ai/docs/mobile-integration.html

Key libraries

Libraries Domain Description
TorchServe Serving Tool for serving PyTorch models
TorchVision Computer Vision Consists of popular datasets, model architectures, and common image transformations for computer vision.
TorchAudio Audio Consists of I/O, popular datasets and common audio transformations.
TorchText NLP Consists of data processing utilities and popular datasets for natural language processing
TorchElastic Scaling For distributed training jobs to be executed in a fault-tolerant and elastic manner

Components

Component Domain Description
TorchInductor Compiler for PyTorch models
TorchDyanmo Python-level JIT compiler for PyTorch To make unmodified PyTorch programs faster by generating machine code from the Python bytecode.

Ecosystem

Partner Details
Microsoft PyTorch-ONNX colloboration
PyTorch Windows port maintainer
AWS TorchServe co-development
Chainer Chainer merged with PyTorch
OpenAI OpenAI Standardizes on PyTorch
Uber Uber's Pyro probabilistic programming language software uses PyTorch as a backend
Google Cloud TPUs support the PyTorch 1.7 release, via PyTorch/XLA integration

History

  • Facebook operated both PyTorch and Caffe2, but models defined by the two frameworks were mutually incompatible.
  • Caffe2 was merged into PyTorch at the end of March 2018.

See also

⚠️ **GitHub.com Fallback** ⚠️