
Show-o
一个Transformer搞定图像理解与生成,告别多模型拼接
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1985
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- 已安装 Python 3 与 pip3(README 未指定具体版本)
- 可访问 GitHub 并能克隆 Show-o 仓库
- 拥有 wandb 账号及 API key(推理结果在 wandb 查看)
- 仓库内自带示例素材目录:mmu_validation、inpainting_validation、validation_prompts
安装与启动步骤
-
1克隆项目仓库
把 Show-o 代码拉到本地,后续所有命令都在该仓库根目录下执行。
git clone https://github.com/showlab/Show-o.git -
2安装依赖
在项目根目录按 requirements.txt 安装 Python 依赖,需保证 pip3 可用。
pip3 install -r requirements.txt -
3登录 wandb
把示例 key 换成你自己 wandb 账号的 API key,推理结果和日志都在 wandb 上查看。
wandb login 1a2b3c4d5e6f7g8h9i0j -
4多模态理解推理
对 mmu_validation 下的图片提问,结果在 wandb 查看;也可改用 showo_demo_w_clip_vit_512x512.yaml。
python3 inference_mmu.py config=configs/showo_demo_512x512.yaml \ max_new_tokens=100 \ mmu_image_root=./mmu_validation question='Please describe this image in detail. *** Do you think the image is unusual or not?' -
5文生图生成
按 validation_prompts/showoprompts.txt 中的提示词生成 512x512 图像,结果在 wandb 查看。
python3 inference_t2i.py config=configs/showo_demo_512x512.yaml \ batch_size=1 validation_prompts_file=validation_prompts/showoprompts.txt \ guidance_scale=5 generation_timesteps=50 \ mode='t2i' -
6文本引导图像修复
对 bus.jpg 按 bus_mask.webp 做 inpainting,输出 256x256,结果在 wandb 查看。
python3 inference_t2i.py config=configs/showo_demo.yaml \ batch_size=1 \ guidance_scale=1.75 generation_timesteps=16 \ mode='inpainting' prompt='A blue sports car with sleek curves and tinted windows, parked on a bustling city street.' \ image_path=./inpainting_validation/bus.jpg inpainting_mask_path=./inpainting_validation/bus_mask.webp -
7文本引导图像外扩
按 extra_direction 与 offset 对 alpine_lake.jpg 做外扩,输出 256x256,结果在 wandb 查看。
python3 inference_t2i.py config=configs/showo_demo.yaml \ batch_size=1 \ guidance_scale=1.75 generation_timesteps=16 \ mode='extrapolation' extra_direction='left *** left *** left *** right *** right *** right' offset=0 prompt='a serene natural landscape featuring a clear, blue lake surrounded by lush green trees. *** a serene natural landscape featuring a clear, blue lake surrounded by lush green trees. *** a serene natural landscape featuring a clear, blue lake surrounded by lush green trees. *** a serene natural landscape featuring a clear, blue lake surrounded by lush green trees. *** a serene natural landscape featuring a clear, blue lake surrounded by lush green trees. *** a serene natural landscape featuring a clear, blue lake surrounded by lush green trees.' \ image_path=./inpainting_validation/alpine_lake.jpg
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
config | 是 | 推理使用的 yaml 配置文件路径 | configs/showo_demo_512x512.yaml |
max_new_tokens | 否 | 多模态理解任务生成的最大 token 数 | 100 |
mmu_image_root | 否 | 多模态理解任务的图片所在目录 | ./mmu_validation |
guidance_scale | 否 | 生成任务的引导强度,任务不同取值不同 | 5 |
generation_timesteps | 否 | 扩散生成的采样步数 | 50 |
mode | 否 | 生成任务模式:t2i、inpainting、extrapolation | t2i |
如何确认成功
推理跑完后在 wandb 上能看到对应的文本结果或生成图像,即表示环境和权重加载正常。
常见问题
Q:推理结果在哪里查看?
A:README 说明结果都在 wandb 上查看,因此必须先完成 wandb login 并联网,才能看到生成的图像或文本输出。
Q:理解任务该用哪个 config?
A:README 给了两个可选配置:configs/showo_demo_w_clip_vit_512x512.yaml(option c)和 configs/showo_demo_512x512.yaml(option a),按需替换即可。
Q:不同任务输出分辨率是多少?
A:文生图(t2i)输出 512x512;文本引导修复(inpainting)和外扩(extrapolation)输出 256x256。
Q:命令里的参数怎么写?
A:README 中所有参数都用 key=value 形式直接跟在脚本后,不要写成 --key 形式,路径和提示词按实际情况替换。
注意事项
- README 未提供环境版本、预训练权重下载和 GPU 要求等说明,实际运行前请自行确认权重已就位。
- 示例命令依赖仓库内自带的图片与提示词文件(mmu_validation、inpainting_validation、validation_prompts),替换路径时需保证文件存在。
- wandb 密钥属于敏感信息,示例值仅为占位,请勿把真实 key 提交到代码仓库。
核心亮点
- 统一架构:单一Transformer同时处理理解和生成,避免复杂组件集成,训练和推理更简洁
- 双任务兼顾:在视觉问答、图像生成等多个基准上表现均衡,不偏科
- 学术前沿:ICLR & NeurIPS 2025双收录,方法有理论支撑,代码开源可复现
不足之处
- 模型规模较大,推理资源需求高,个人开发者部署门槛较高
- 文档/社区待观察:项目较新,社区生态和教程相对较少
适用场景
- 多模态大模型研究:探索统一架构在理解和生成任务上的能力边界
- 图像生成与编辑:基于文本提示生成或修改图像,用于创意设计
- 视觉问答系统:构建能理解图像内容并回答问题的智能助手
替代项目
Chameleon、Emu3、Unified-IO
上一篇:VisualRWKV
下一篇:unicom
同类项目推荐
Awesome-Domain-LLM
开源
一站式找到垂直领域大模型、数据集和评测基准
收集和梳理垂直领域的开源模型、数据集及评测基准。
Large-Scale-Medical
开源
用几何先验预训练三维医学影像,让模型更懂解剖结构
[TPAMI 2026] Large-Scale 3D Medical Image Pre-training with Geometric Context Priors
d3LLM
开源
扩散模型加速语言生成,实现超快并行推理。
[ICML 2026] d3LLM: Ultra-Fast Diffusion LLM
awesome-turkish-language-models
开源
找土耳其语AI资源,看这一个列表就够了
A curated list of Turkish AI models, datasets, papers
Awesome-AITools
开源
一个列表,网罗AI实用工具,省去全网搜索。
220+ AI tools across 37+ categories — chatbots, coding agents, AI video/image/voice···
Time-Series-Reasoning-Survey
开源
一篇综述看懂LLM如何推理时间序列
[TMLR 2026] A Survey of Reasoning and Agentic Systems in Time Series with Large Lang···
Kandinsky-2
开源
多语言文本生图,支持图像编辑修复,开箱即用
Kandinsky 2 — multilingual text2image latent diffusion model
GLM-4.5
开源
开箱即用的智能体+推理+编程全能模型,复杂任务一次搞定
GLM-4.5: Agentic, Reasoning, and Coding (ARC) Foundation Models
Deep-Learning-Applications-with-···
开源
一张清单,找到带界面的开源AI工具,不用敲命令。
List of FOSS Deep Learning Applications with GUI and/or CLI