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