Show-o

一个Transformer搞定图像理解与生成,告别多模型拼接

Show-o 是一个基于单一 Transformer 架构的统一多模态模型,旨在同时处理视觉与文本的理解与生成任务。传统上,视觉理解和生成通常由不同模型或复杂组件拼接完成,而 Show-o 通过一个统一的 Transformer 框架,将图像理解、图像生成、文本理解和文本生成整合到同一套参数中,简化了模型设计并提升了跨模态任务的协同效率。该项目在 ICLR 和 NeurIPS 2025 发表,提供了完整的训练和推理代码,支持从零训练或基于预训练权重微调。其核心能力包括:多模态理解(如图像问答、视觉推理)、多模态生成(如文生图、图文混合生成),以及统一的自回归与扩散建模策略,使得模型在理解和生成任务间灵活切换。Show-o 适合研究多模态大模型、统一架构设计以及高效跨模态学习的开发者和研究者。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1977
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队showlab
所属国家
官网地址
定价模式free
价格说明开源模型,Apache-2.0许可,可免费使用和部署,无在线服务。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型diffusion-models,large-language-models,multimodal
GitHub 星标★ 1977
30天Star增速
HF 下载量
上线时间2024-08-09 00:00:00
最近更新2026-09-13 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

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

环境要求

  • 已安装 Python 3 与 pip3(README 未指定具体版本)
  • 可访问 GitHub 并能克隆 Show-o 仓库
  • 拥有 wandb 账号及 API key(推理结果在 wandb 查看)
  • 仓库内自带示例素材目录:mmu_validation、inpainting_validation、validation_prompts

安装与启动步骤

  1. 1克隆项目仓库

    把 Show-o 代码拉到本地,后续所有命令都在该仓库根目录下执行。

    git clone https://github.com/showlab/Show-o.git
  2. 2安装依赖

    在项目根目录按 requirements.txt 安装 Python 依赖,需保证 pip3 可用。

    pip3 install -r requirements.txt
  3. 3登录 wandb

    把示例 key 换成你自己 wandb 账号的 API key,推理结果和日志都在 wandb 上查看。

    wandb login 1a2b3c4d5e6f7g8h9i0j
  4. 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. 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. 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. 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、extrapolationt2i

如何确认成功

推理跑完后在 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

项目介绍

Show-o 是开源模型领域的开源项目,由 showlab 开发,2024 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,977)位列前 30%,在开源模型分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-13。Apache-2.0许可,可免费使用和部署,无在线服务。

它主要面向的使用场景是:多模态大模型研究:探索统一架构在理解和生成任务上的能力边界。同类可对比的替代方案包括 Chameleon、Emu3、Unified-IO。

上一篇:VisualRWKV

下一篇:unicom

同类项目推荐

Machine-Learning 开源

跟着博客笔记,边看边跑机器学习代码

All content related to machine learning from my blog

★ 115 2026-08-09
awesome-ltx2 开源

找齐 LTX-2 模型、工作流和 LoRA,一键上手视频生成。

All available LTX-2 models, encoders, workflows, LoRAs for ComfyUI

★ 593 2026-08-10