Pytorch - AshokBhat/ml GitHub Wiki
- 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)
See PyTorch Versions
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 | Desc | Backwards Compatibility | Future |
---|---|---|---|
Stable | Yes | Yes | |
Beta | (previously Experimental) | No | Aim to become Stable |
Prototype | (previously Nightlies) | No | Collect feedback, Fail fast |
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
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 |
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. |
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 |
Cloud TPUs support the PyTorch 1.7 release, via PyTorch/XLA integration |
- 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.
- Frameworks: TensorFlow | PyTorch | MXNET | Keras | ONNX
- Inference engines: ArmNN | OpenVINO | TensorRT | TensorFlow Lite | Core ML