Show-o

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 94 🐛 待处理 74 👀 关注 19
GitHub ↗
GitHub 星标 ★ 1985
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源模型,Apache-2.0许可,可免费使用和部署,无在线服务。

项目预览

Show-o 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队showlab
定价模式🏷️完全免费
价格说明开源模型,Apache-2.0许可,可免费使用和部署,无在线服务。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型diffusion-models,large-language-models,multimodal
GitHub 星标★ 1985
上线时间2024-08-09 00:00:00
代码更新2026-01-08
仓库体积252.6 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数4

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1985

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 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

上一篇:VisualRWKV

下一篇:unicom

同类项目推荐

Awesome-Domain-LLM 开源

一站式找到垂直领域大模型、数据集和评测基准

收集和梳理垂直领域的开源模型、数据集及评测基准。

★ 2582 2026-08-09
Large-Scale-Medical 开源

用几何先验预训练三维医学影像,让模型更懂解剖结构

[TPAMI 2026] Large-Scale 3D Medical Image Pre-training with Geometric Context Priors

★ 291 2026-08-09
d3LLM 开源

扩散模型加速语言生成,实现超快并行推理。

[ICML 2026] d3LLM: Ultra-Fast Diffusion LLM

★ 157 2026-08-09
Awesome-AITools 开源

一个列表,网罗AI实用工具,省去全网搜索。

220+ AI tools across 37+ categories — chatbots, coding agents, AI video/image/voice···

★ 6286 2026-08-09
Time-Series-Reasoning-Survey 开源

一篇综述看懂LLM如何推理时间序列

[TMLR 2026] A Survey of Reasoning and Agentic Systems in Time Series with Large Lang···

★ 57 2026-08-09
Kandinsky-2 开源

多语言文本生图,支持图像编辑修复,开箱即用

Kandinsky 2 — multilingual text2image latent diffusion model

★ 2812 2026-08-09
GLM-4.5 开源

开箱即用的智能体+推理+编程全能模型,复杂任务一次搞定

GLM-4.5: Agentic, Reasoning, and Coding (ARC) Foundation Models

★ 4426 2026-08-09