OmniGen 使用教程
2026-01-30 04:41:06作者:鲍丁臣Ursa
1. 项目介绍
OmniGen 是一个统一图像生成模型,能够从多模态提示生成广泛的图像。它被设计得简单、灵活且易于使用。OmniGen 不需要额外的网络模块(如 ControlNet、IP-Adapter、Reference-Net 等)和预处理步骤(例如人脸检测、姿态估计、裁剪等)来生成满意图像。它的目标是实现一个简单灵活的图像生成范式,即通过任意的多模态指令直接生成各种图像,而无需额外的插件和操作。
2. 项目快速启动
首先,您需要克隆项目仓库到本地环境:
git clone https://github.com/VectorSpaceLab/OmniGen.git
cd OmniGen
pip install -e .
您也可以创建一个新的环境来避免冲突:
# 创建一个 python 3.10.13 的 conda 环境(您也可以使用 virtualenv)
conda create -n omnigen python=3.10.13
conda activate omnigen
# 根据您的 CUDA 版本安装 pytorch,例如:
pip install torch==2.3.1+cu118 torchvision --extra-index-url https://download.pytorch.org/whl/cu118
git clone https://github.com/VectorSpaceLab/OmniGen.git
cd OmniGen
pip install -e .
然后,您可以使用以下代码来快速启动 OmniGen:
from OmniGen import OmniGenPipeline
pipe = OmniGenPipeline.from_pretrained("Shitao/OmniGen-v1")
# 文本到图像
images = pipe(
prompt="一个卷发男人穿着红衬衫正在喝茶。",
height=1024,
width=1024,
guidance_scale=2.5,
seed=0
)
images[0].save("example_t2i.png")
# 多模态到图像
# 在提示中,我们使用占位符来表示图像。图像占位符应该是 <img><|image_*|></img> 的格式。
# 您可以在 input_images 中添加多个图像。请确保每个图像都有其占位符。例如,对于列表 input_images = [img1_path, img2_path],提示中需要有两位占位符: <img><|image_1|></img>,<img><|image_2|></img>。
images = pipe(
prompt="一个男人穿着黑衬衫正在读书。这个男人是 <img><|image_1|></img> 右边的人。",
input_images=["./imgs/test_cases/two_man.jpg"],
height=1024,
width=1024,
guidance_scale=2.5,
img_guidance_scale=1.6,
seed=0
)
images[0].save("example_ti2i.png")
3. 应用案例和最佳实践
文本到图像生成
您可以输入一段描述性文本,OmniGen 会根据您的描述生成相应的图像。
prompt = "一个美丽的海滩,夕阳下的浪漫氛围,高清,印象派风格。"
image = pipe(prompt=prompt, height=768, width=1024)
image.save("beach_sunset.png")
图像编辑
您也可以使用 OmniGen 来编辑现有图像,例如改变图像中人物的姿态或者表情。
# 假设您有一张人物图像,并且想要改变其姿态
prompt = "一个在海滩上冲浪的年轻人,动感十足。"
edited_image = pipe(prompt=prompt, input_images=["path/to/young_man.jpg"])
edited_image.save("surfing_young_man.png")
4. 典型生态项目
目前 OmniGen 生态中的典型项目包括但不限于:
- Diffusers:一个用于图像生成的库,它集成了 OmniGen,使得图像生成更为简便。
- Gradio:一个用于构建机器学习演示的应用程序框架,可以与 OmniGen 结合创建在线演示。
- Huggingface:OmniGen 在 Huggingface 上有官方模型仓库,方便用户下载和部署。
以上是 OmniGen 的基本使用教程,您可以根据自己的需求进行更深入的学习和探索。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0154- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112
项目优选
收起
暂无描述
Dockerfile
733
4.76 K
deepin linux kernel
C
31
16
Ascend Extension for PyTorch
Python
652
797
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
1.25 K
153
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.1 K
611
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.01 K
1.01 K
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
147
237
昇腾LLM分布式训练框架
Python
168
200
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
434
395
暂无简介
Dart
987
253