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 而非复杂抽象实现。