catalyst-team/catalyst

Accelerated deep learning R&D

What it solves

Catalyst 是為了消除與 PyTorch 訓練迴圈相關的重複樣板程式碼而設計的。它讓研究人員與開發者能以最少的程式碼實作完整的深度學習管線——包括指標、提前停止與模型檢查點——專注於實驗而非基礎設施。

How it works

它提供一個建構於 PyTorch 之上的高階框架,抽象化訓練流程。使用者可以使用 SupervisedRunner 來處理標準任務,或自行建立 CustomRunner 以定義特定的 batch 處理與模型推論步驟。框架整合了用於追蹤指標(如 accuracy、precision、recall)的 callbacks,並提供模型後處理的實用函式,例如量化、剪枝與 ONNX 匯出。

Who it’s for

此框架適用於希望透過可重現且可重用的程式碼庫,加速 PyTorch 模型的訓練、評估與預測研發週期的深度學習研究者與開發者。

Highlights

  • Boilerplate Reduction: 用結構化的 train 方法取代手動 for 迴圈。
  • Integrated Metrics: 內建 callbacks 支援常見指標,如 Accuracy、F1-score、AUC。
  • Model Optimization: 提供模型追蹤、量化、剪枝與匯出至 ONNX 的工具。
  • Flexible Architecture: 同時支援高階的 supervised runner 與可完全自訂的 runner,以因應複雜邏輯。