From NumPy to PyTorch, A Story of API Compatibility
summary
PyTorch claims practical NumPy compatibility by implementing hundreds of NumPy operators plus hardware-accelerator and autograd support, but not all thousand plus functions. Porting requires C++ kernels, autograd formulas, and comprehensive tests, so PyTorch builds an opinfo test generation system and leans on community contributors. Where behavior diverges it is principled: e.g. reciprocal promotes ints to float, eig always returns complex tensors, and complex sorting raises an error to preserve consistent semantics and graph inference.
AI-written summary · about
chapters (8)
- 0:00Start
- 0:31Outline
- 9:33PyTorch Behind the Scenes
- 12:39Porting an operator from Numpy
- 13:34PyTorch's test matrix
- 17:38Features of PyTorch's test generator
- 22:01Principled discrepancies
- 23:59Lessons Learned
related talks
06mMaking PyTorch More "NumPy Compatible"
19mIncreasing the Impact of AI Through Better Software (Pytorch Updates)
47mGet to Know PyTorch - A Cutting Edge Open Source AI Framework for Deep Learning
05mKeynote: The Promise of PyTorch as a General-Purpose Array-Oriented Computational..
43mExploring Deep Learning Framework PyTorch
24mAdvancements in High-Performance AI/ML through PyTorch's Python Compiler
19mGet to know PyTorch - a cutting edge open source AI framework for Machine Learning
54mKeynote: PyTorch 2.1 Technical Deep Dive
