
Episode 37
Anatomy of a domain library
What's a domain library? Why do they exist? What do they do for you? What should you know about developing in PyTorch main library versus in a domain library? What's cool about working on domain libraries?
June 24, 202116m 11s
Audio is streamed directly from the publisher (cdn.simplecast.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
What's a domain library? Why do they exist? What do they do for you? What should you know about developing in PyTorch main library versus in a domain library? How coupled are they with PyTorch as a whole? What's cool about working on domain libraries?
Further reading.
- The classic trio of domain libraries is https://pytorch.org/audio/stable/index.html https://pytorch.org/text/stable/index.html and https://pytorch.org/vision/stable/index.html
Line notes.
- why do domain libraries exist? lots of domains specific gadgets,
inappropriate for PyTorch - what does a domain library do
- operator implementations (old days: pure python, not anymore)
- with autograd support and cuda acceleration
- esp encoding/decoding, e.g., for domain file formats
- torchbind for custom objects
- takes care of getting the dependencies for you
- esp transformations, e.g., for data augmentation
- models, esp pretrained weights
- datasets
- reference scripts
- full wheel/conda packaging like pytorch
- mobile compatibility
- operator implementations (old days: pure python, not anymore)
- separate repos: external contributors with direct access
- manual sync to fbcode; a lot easier to land code! less
motion so lower risk
- manual sync to fbcode; a lot easier to land code! less
- coupling with pytorch? CI typically runs on nightlies
- pytorch itself tests against torchvision, canary against
extensibility mechanisms - mostly not using internal tools (e.g., TensorIterator),
too unstable (this would be good to fix)
- pytorch itself tests against torchvision, canary against
- closer to research side of pytorch; francesco also part of papers