Core Concepts
Addressing software design issues in domain generalization with a modular Python package.
Abstract
Introduction to the challenges of poor generalization in deep learning due to distribution shifts.
Comparison of existing methods and limitations in domain generalization techniques.
Overview of DomainLab as a modular Python package for training neural networks with composable regularization loss terms.
Detailed explanation of the modular components like Tasks, Models, and Trainers within DomainLab.
Description of hierarchical combinations across Trainer, Model, and neural network in DomainLab.
Benchmarking functionality offered by DomainLab for evaluating generalization performance on out-of-distribution data.
Use cases demonstrating the combination and decoration features between Trainer and Model, along with benchmarking algorithms on custom datasets.
Conclusion highlighting the decoupling design of DomainLab for training domain invariant neural networks.
Stats
Poor generalization performance caused by distribution shifts hinders trustworthy deployment of deep neural networks.
DomainBed lacks modularity as each method corresponds to a Python class with hard-coded components.
Quotes
"DomainLab is a thoroughly tested and well-documented software platform for training domain invariant neural networks." - Xudong Sun