scenic

用 JAX 快速搭视觉模型,论文复现与实验一把梭

Scenic 是 Google 开源、基于 JAX 的计算机视觉研究库,目标是为视觉任务提供一套干净、模块化且高性能的训练与推理框架。它解决的是研究代码重复造轮子、难以复现和扩展的问题:把数据加载、模型定义、训练循环、评估指标等环节拆成可组合组件,研究者只需替换其中一部分即可快速试验新想法。核心能力包括:内置 ViT、Transformer、注意力机制等主流视觉模型与训练配方;支持分类、分割、检测等多类任务;依托 JAX 的 jit、pmap 与 Flax 实现高效并行训练;提供配置系统与项目模板,方便在 TPU/GPU 上复现论文结果。Scenic 强调“研究优先”,代码结构清晰,适合作为视觉新算法的实验底座,也可用于教学与原型验证。

开源 free 计算机视觉
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3831
维护状态 较活跃
是否开源
定价模式 free

项目数据

分类计算机视觉
开发团队google-research
所属国家
官网地址
定价模式free
价格说明开源免费,Apache-2.0许可证
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型attention,computer-vision,deep-learning,jax,research,transformers,vision-transformer
GitHub 星标★ 3831
30天Star增速
HF 下载量
上线时间2021-07-12 00:00:00
最近更新2026-09-16 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-18
浏览次数0

使用教程

难度:进阶 约 10 分钟 部署方式:本地安装 5 步

环境要求

  • Python 3.9 或更高版本
  • Git(用于克隆 GitHub 仓库)
  • JAX 与 Flax 运行环境(由 pip install . 安装依赖)
  • 训练 ViT 等模型需要相应的数据集与算力(GPU/TPU)

安装与启动步骤

  1. 1克隆 Scenic 仓库

    从 GitHub 下载 Scenic 源码到本地,命令会在当前目录生成 scenic 文件夹。

    git clone https://github.com/google-research/scenic.git
  2. 2进入项目目录

    切换到刚克隆下来的 scenic 目录,后续安装和运行都基于该目录。

    cd scenic
  3. 3安装 Scenic

    在项目根目录执行 pip 安装,会把 Scenic 及其依赖(JAX、Flax 等)装到当前 Python 环境。

    pip install .
  4. 4按需安装额外依赖

    部分特定项目或 baseline 需要额外包,README 提示查看对应项目的 README.md 或 requirements.txt。

  5. 5运行 ViT 训练

    使用自带配置文件在 ImageNet 上跑 ViT 训练,注意 -- 后的参数是传给 Scenic 的配置项。

    python scenic/main.py -- 
      --config=scenic/projects/baselines/configs/imagenet/imagenet_vit_config.py 
      --workdir=./

关键配置

配置项必填说明示例
--config指定要运行的训练配置脚本路径,决定模型与数据集。scenic/projects/baselines/configs/imagenet/imagenet_vit_conf
--workdir指定工作目录,用于存放训练日志与输出结果。./

如何确认成功

命令开始执行后终端会打印训练日志,并在 --workdir 指定的目录下产生训练输出文件。

常见问题

Q:需要什么 Python 版本?

A:README 明确要求 Python 3.9 或更高版本,版本过低会导致安装或运行失败。

Q:运行某个具体项目时报缺少依赖怎么办?

A:README 说明特定项目和 baseline 可能需要额外包,请查看该项目目录下的 README.md 或 requirements.txt 并按其中说明安装。

Q:不想本地配环境,想先快速体验?

A:官方提供了最小化的 Colab notebook(Scenic playground),可以直接在浏览器中训练一个简单的前馈模型。

Q:为什么运行命令里有一个单独的 -- ?

A:这是 README 给出的标准调用写法,--config、--workdir 等参数需写在 -- 之后,请照原样保留。

注意事项

  • README 中的命令带 $ 提示符,复制时不要把它一起复制进去。
  • Scenic 基于 JAX 与 Flax 开发,没有可用 GPU/TPU 时训练会很慢或无法按预期运行。
  • 训练 ViT on ImageNet 需要自行准备数据集与相应算力,README 未说明数据准备细节。
  • 向共享库贡献代码前,建议先阅读 Philosophy、Code structure 与 CONTRIBUTING.md 章节。

核心亮点

  • 基于 JAX/Flax,天然支持 jit、pmap,在 TPU/GPU 上并行训练效率高
  • 内置 ViT、Transformer、注意力等主流视觉模型与训练配方,开箱可复现
  • 模块化设计,数据、模型、训练循环解耦,方便替换组件做新实验

不足之处

  • 生态与文档相比 PyTorch 系视觉库仍偏薄,部分高级用法需读源码
  • 依赖 JAX 生态,不熟悉 JAX/Flax 的团队上手成本较高

适用场景

  • 复现或改进 ViT 等视觉 Transformer 论文实验
  • 在 TPU 集群上做大规模图像分类/分割训练
  • 作为教学或研究原型,快速验证新的注意力/视觉算法

替代项目

timm、detectron2、mmcv

项目介绍

scenic 是一个计算机视觉领域的开源项目,官方简介:Scenic: A Jax Library for Computer Vision Research and Beyond。项目使用 Python 开发,在 GitHub 上获得 3831 星标。

同类项目推荐

modlens 开源

给纯文本编码代理装上眼睛,粘贴图片即刻获得结构化视觉证据。

The first vision plugin for DeepSeek Harness, and the vision bridge for every text-o···

★ 3973 2026-08-19
opencv 开源

开箱即用的视觉算法库,搞定图像视频处理与识别

Open Source Computer Vision Library

★ 90860 2026-08-10
OpenCVTutorials 开源

中文 OpenCV 教程,从入门到实战,边看边跑代码

OpenCV-Python4.1 中文文档

★ 1430 2026-08-20
DEIMv2 开源

用DINOv3做实时检测,又快又准,直接落地。

[DEIMv2] Real Time Object Detection Meets DINOv3

★ 2032 2026-08-14