
scenic
用 JAX 快速搭视觉模型,论文复现与实验一把梭
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-18 · 当前星标 ★ 3847
使用教程
环境要求
- Python 3.9 或更高版本
- Git(用于克隆 GitHub 仓库)
- JAX 与 Flax 运行环境(由 pip install . 安装依赖)
- 训练 ViT 等模型需要相应的数据集与算力(GPU/TPU)
安装与启动步骤
-
1克隆 Scenic 仓库
从 GitHub 下载 Scenic 源码到本地,命令会在当前目录生成 scenic 文件夹。
git clone https://github.com/google-research/scenic.git -
2进入项目目录
切换到刚克隆下来的 scenic 目录,后续安装和运行都基于该目录。
cd scenic -
3安装 Scenic
在项目根目录执行 pip 安装,会把 Scenic 及其依赖(JAX、Flax 等)装到当前 Python 环境。
pip install . -
4按需安装额外依赖
部分特定项目或 baseline 需要额外包,README 提示查看对应项目的 README.md 或 requirements.txt。
-
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
同类项目推荐
Text-Grab
开源
Windows 上按一下就能抓取屏幕任意文字,即取即用
Use OCR in Windows quickly and easily with Text Grab. With optional background proce···
半自动把图像像素映射到三维空间坐标
Semi-automatic mapping of RGB pixels in 3D space using computer vision
litepali
开源
轻量级图像检索,云端部署省资源,检索快人一步
LitePali is a minimal, efficient implementation of ColPali for image retrieval and i···
indra
开源
百万参数OCR,纯CPU跑出15倍速
1M param OCR model - runs on CPU, 15x faster than tesseract, close to 1B+ param mode···
Altbot
开源
给 Fediverse 图片视频自动补 alt-text,视障用户也能刷到内容
Accessibility bot designed to enhance the Fediverse by generating alt-text descripti···
deepdoctection
开源
一行代码搭建文档解析流水线,快速提取版面、表格与文本。
A Repo For Document AI
roboflow-python
开源
用 Python 管数据集和模型,视觉项目少折腾
The official Roboflow Python package. Manage your datasets, models, and deployments.···
obs-backgroundremoval
开源
无需绿幕,直播录屏实时抠像换背景
An OBS plugin for removing background in portrait images (video), making it easy to ···
yomihon
开源
看日漫直接 OCR 查词,边读边学不切应用
Free and open source manga reader for Android - now with OCR (text recognition)