pytorch-adapt  by KevinMusgrave

PyTorch library for domain adaptation algorithm development

created 4 years ago
381 stars

Top 76.0% on sourcepulse

GitHubView on GitHub
Project Summary

PyTorch Adapt simplifies domain adaptation for machine learning practitioners by providing a modular and customizable library for repurposing models across different data domains. It offers a comprehensive suite of tools for building, customizing, and integrating domain adaptation pipelines with popular frameworks like PyTorch Lightning and Ignite.

How It Works

The library employs a hook-based architecture, allowing users to easily construct complex domain adaptation algorithms by composing modular components like loss functions and validation methods. This approach facilitates customization, enabling users to combine techniques such as Minimum Class Confusion and Virtual Adversarial Training with minimal code. Framework wrappers abstract away boilerplate, allowing seamless integration with PyTorch Lightning and Ignite for streamlined training and validation.

Quick Start & Requirements

  • Install via pip: pip install pytorch-adapt
  • For Lightning integration: pip install pytorch-adapt[lightning]
  • For Ignite integration: pip install pytorch-adapt[ignite]
  • Requires PyTorch.
  • Official documentation and examples are available.

Highlighted Details

  • Supports building complex algorithms by chaining hooks (e.g., DANNHook(..., post_g=[MCCHook(), VATHook()])).
  • Integrates with PyTorch Lightning and Ignite via dedicated framework wrappers.
  • Includes various validators for performance assessment during or after training.
  • Provides DataloaderCreator for dataset management.

Maintenance & Community

The project acknowledges contributors and advisors, including Serge J. Belongie and Serge Nam Lim. A bibtex reference is provided for academic citation.

Licensing & Compatibility

The library is available under a permissive license, suitable for commercial use and integration with closed-source projects.

Limitations & Caveats

Conda installation is noted as "coming soon." The library's primary focus is on domain adaptation, and its utility for other machine learning tasks may be limited.

Health Check
Last commit

2 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
7 stars in the last 90 days

Explore Similar Projects

Starred by Stas Bekman Stas Bekman(Author of Machine Learning Engineering Open Book; Research Engineer at Snowflake) and Travis Fischer Travis Fischer(Founder of Agentic).

lingua by facebookresearch

0.1%
5k
LLM research codebase for training and inference
created 9 months ago
updated 2 weeks ago
Feedback? Help us improve.