1. 概要
OmniGenは、マルチモーダルプロンプトから幅広い画像を生成できる統一された画像生成モデルです。シンプルで柔軟、使いやすいように設計されています。OmniGenの機能をさらに探求できるように、推論コードを提供しています。
既存の画像生成モデルは、ControlNet、IP-Adapter、Reference-Netなどの複数の追加ネットワークモジュールをロードし、顔検出、ポーズ推定、クロップなどの_extra_前処理ステップを実行する必要がよくあります。しかし、将来の画像生成パラダイムは、GPTが言語生成で行っているように、追加のプラグインや操作を必要とせずに、自由にマルチモーダルな指示を通じてさまざまな画像を直接生成するべきだと私たちは信じています。
資源が限られているため、OmniGenには改善の余地があります。私たちは引き続きそれを最適化し、より普遍的な画像生成モデルにインスパイアできることを願っています。特定のタスクのためのネットワークを設計する必要なく、OmniGenを簡単に微調整することができます。相应するデータを準備し、スクリプトを実行するだけです。想像力はもはや制限されず、誰もが任意の画像生成タスクを構築でき、おそらく非常に興味深い、素晴らしい、創造的なことを達成できるかもしれません。
質問やアイデア、OmniGenが成し遂げたい興味深いタスクがあれば、私たちと自由にディスカッションに参加してください:2906698981@qq.com、wangyueze@tju.edu.cn、zhengliu1026@gmail.com。フィードバックを歓迎し、モデルの改善を助けるのを楽しみにしています。
2. ニュース
2024-10-22: :fire: OmniGenのコードをリリースしました。推論: docs/inference.md トレーニング: docs/fine-tuning.md 2024-10-22: :fire: OmniGenの最初のバージョンをリリースしました。モデルウェイト: Shitao/OmniGen-v1 HFデモ: 🤗
3. 方法論
詳細については、私たちの論文でご覧ください。
4. OmniGenは何ができますか?
デモ
OmniGenは、テキストから画像への生成、主体駆動生成、アイデンティティープ雷斯ービング生成、画像編集、画像条件付き生成など、さまざまなタスクを実行できる統一された画像生成モデルです。OmniGenは追加のプラグインや操作を必要とせず、テキストプロンプトに応じて入力画像の特長(必要なオブジェクト、人間ポーズ、奥行きのマッピングなど)を自動的に識別できます。私たちは推論.ipynbでいくつかの例を示しています。また、inference_demo.ipynbでは、画像を生成し変更する面白いパイプラインを示しています。
特定の機能に完全に満足していない、または新しい能力を追加したい場合は、OmniGenの微調整を試みることができます。
5. クイックスタート
OmniGenの使用法 Githubを通じてインストール(推奨):
git clone https://github.com/staoxiao/OmniGen.git
cd OmniGen
pip install -e .
またはpypiを通じて:
pip install 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") # 出力PIL画像を保存
# マルチモーダルから画像
# プロンプトでは、画像を表すためにプレースホルダーを使用します。画像プレースホルダーは<img><|image_*|></img>の形式でなければなりません。
# input_imagesに複数の画像を追加できます。各画像がそのプレースホルダーを持っていることを確認してください。たとえば、input_imagesリスト[img1_path, img2_path]の場合、プロンプトには2つのプレースホルダーが必要です:<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,
separate_cfg_infer=False, # OOMが発生した場合は、separate_cfg_infer=Trueに設定できます
guidance_scale=3,
img_guidance_scale=1.6
)
images[0].save("example_ti2i.png") # 出力PIL画像を保存
推論の引数に関する詳細については、docs/inference.mdを参照してください。画像生成の他の例については、inference.ipynbとinference_demo.ipynbを参照してください。
Diffusersを使用 近日公開。
Gradioデモ Huggingfaceでオンラインデモを構築しています。
ローカルのgradioデモを実行するには、以下を実行します:
python app.py
6. 微調整
OmniGenを微調整するためのトレーニングスクリプトtrain.pyを提供しています。これはLoRA微調整についてのトイエクスAMPLEです:
accelerate launch --num_processes=1 train.py \
--model_name_or_path Shitao/OmniGen-v1 \
--batch_size_per_device 2 \
--condition_dropout_prob 0.01 \
--lr 1e-3 \
--use_lora \
--lora_rank 8 \
--json_file ./toy_data/toy_subject_data.jsonl \
--image_path ./toy_data/images \
--max_input_length_limit 18000 \
--keep_raw_resolution \
--max_image_size 1024 \
--gradient_accumulation_steps 1 \
--ckpt_every 10 \
--epochs 200 \
--log_every 1 \
--results_dir ./results/toy_finetune_lora
詳細については、docs/finetune.mdを参照してください(例:完全な微調整)。
ライセンス
このレポはMITライセンスに基づいてライセンスされています。
引用
このリポが役に立った場合は、star ⭐と引用を検討してください。
@article{xiao2024omnigen,
title={Omnigen: Unified image generation},
author={Xiao, Shitao and Wang, Yueze and Zhou, Junjie and Yuan, Huaying and Xing, Xingrun and Yan, Ruiran and Wang, Shuting and Huang, Tiejun and Liu, Zheng},
journal={arXiv preprint arXiv:2409.11340},
year={2024}
}
aiスピーキング
ドルフィンAIは言語学習アプリケーションのためのプロフェッショナルな発音評価API(pronunciation assessment api)ソリューションを提供します。音素、単語、文章、チャプター、発音矯正、単語矯正、クイズ、フリーダイアログ、多肢選択問題など幅広く提供しています。当社の発音評価製品(pronunciation assessment)は、英語と中国語、クラウドAPI、オンプレミス、オフラインデバイスの展開をサポートしています。当社の発音評価API(pronunciation assessment api)は、正確性、流暢性、完全性、リズムの次元をカバーする豊富な評価指標を提供し、音素、単語、文の異なるレベルの評価スコアも提供します。また、音素、単語、文の異なるレベルでの評価スコアも提供します。数千万人のユーザーに安定した効率的で安全なサービスを提供しています。ドルフィンAIの発音評価製品(pronunciation assessment)を試してみませんか?