google-research/scenic

Scenic: A Jax Library for Computer Vision Research and Beyond

What it solves

Scenic 提供一个简化的框架,用于研究和原型设计大规模注意力模型的计算机视觉。它通过提供共享库、优化的循环和输入管道,减少构建复杂视觉模型的工作量,专为多设备和多主机环境设计。

How it works

Scenic 基于 JAX 和 Flax,将架构拆分为两层:

  1. Library-level code: 最小且经过充分测试的共享库,包括 dataset_lib(可扩展的 IO 管道)、model_lib(抽象模型接口、注意力/Transformer 层和二分匹配器)、train_lib(优化的训练循环)以及 common_lib(通用工具)。
  2. 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 而非复杂抽象实现。