google-research/scenic
Scenic: A Jax Library for Computer Vision Research and Beyond
What it solves
Scenic 提供一個精簡的框架,用於研究與原型設計大規模注意力模型的電腦視覺。它透過提供共用函式庫、最佳化的迴圈與輸入管線,減少建構複雜視覺模型的工作量,且專為多裝置與多主機環境設計。
How it works
Scenic 以 JAX 與 Flax 為基礎,將架構分為兩層:
- Library-level code: 最小且經過充分測試的共用函式庫,包含
dataset_lib(可擴展的 IO 管線)、model_lib(抽象模型介面、注意力/Transformer 層與二分匹配器)、train_lib(最佳化的訓練迴圈)以及common_lib(一般工具)。 - Project-level code: 可客製化的特定任務實作。研究者可以使用既有設定,或是 fork 函式庫元件以重新定義架構、損失與指標。
Who it’s for
此函式庫設計給從事電腦視覺的 AI 研究者與開發者,包含開發分類、分割、偵測以及涉及影像、影片與音訊的多模態任務的模型。
Highlights
- Broad Modality Support: 成功應用於影像、影片、音訊與多模態組合。
- Scalable Infrastructure: 內建支援跨多裝置與多主機的大規模訓練。
- Extensive Baseline Library: 包含 ViT、DETR、CLIP、SAM 等最先進模型的實作。
- ** فلسفه (Philosophy)**: 以簡潔與快速原型為優先,鼓勵透過 fork 與 copy‑pasting 取代複雜抽象。