Object-Oriented Patterns¶
Overview¶
PyTorch's architecture is fundamentally OOP-based. Understanding these patterns reveals how frameworks work internally.
Topics¶
- [01 Classes & Inheritance](/05-py3/02-object-oriented-patterns/(01-classes-inheritance/) - Building layer hierarchies, mixins
- 02 Decorators - Framework magic (@property, @abstractmethod, custom)
- [04 Descriptors & Properties](/05-py3/02-object-oriented-patterns/(04-descriptors-properties/) - Lazy loading, parameter binding
- [05 Metaclasses & Advanced Oop](/05-py3/02-object-oriented-patterns/(05-metaclasses-advanced-oop/) - Framework-level abstractions, model registration
- 03 Magic Methods -
__init__,__call__,__getitem__, operators
Key Patterns in PyTorch¶
nn.Moduleinheritance- Decorator-based configuration (@property)
- Descriptor protocol for parameter access
- Metaclass magic for tensor creation
- Magic methods for operator overloading (+, *, @)
Quick Links¶
- 02 Autograd Implementation - Custom autograd with decorators
- 00 Readme - Functional alternatives to OOP