Berita | Metodologi | Kemampuan | Mulai Cepat | Menyempurnakan | Lisensi | Kutipan
03-11-2024: Menambahkan Demo dan API Replikasi:
28-10-2024: Kami merilis kode inferensi versi baru, mengoptimalkan penggunaan memori dan biaya waktu. Anda dapat merujuk ke docs/inference.md untuk informasi detail.
22-10-2024: ? Kami merilis kode untuk OmniGen. Inferensi: docs/inference.md Kereta: docs/fine-tuning.md
22-10-2024: ? Kami merilis versi pertama OmniGen. Berat Model: Shitao/OmniGen-v1 HF Demo: ?
OmniGen adalah model pembuatan gambar terpadu yang dapat menghasilkan berbagai macam gambar dari perintah multi-modal. Ini dirancang agar sederhana, fleksibel, dan mudah digunakan. Kami menyediakan kode inferensi sehingga setiap orang dapat menjelajahi lebih banyak fungsi OmniGen.
Model pembuatan gambar yang ada sering kali memerlukan pemuatan beberapa modul jaringan tambahan (seperti ControlNet, IP-Adapter, Refer-Net, dll.) dan melakukan langkah-langkah pra-pemrosesan tambahan (misalnya, deteksi wajah, estimasi pose, cropping, dll.) untuk menghasilkan gambar yang memuaskan. gambar. Namun, kami percaya bahwa paradigma pembuatan gambar di masa depan harus lebih sederhana dan fleksibel, yaitu menghasilkan berbagai gambar secara langsung melalui instruksi multi-modal yang sewenang-wenang tanpa memerlukan plugin dan operasi tambahan, serupa dengan cara kerja GPT dalam pembuatan bahasa.
Karena keterbatasan sumber daya, OmniGen masih memiliki ruang untuk perbaikan. Kami akan terus mengoptimalkannya, dan berharap ini dapat menginspirasi model generasi gambar yang lebih universal. Anda juga dapat dengan mudah menyempurnakan OmniGen tanpa khawatir merancang jaringan untuk tugas tertentu; Anda hanya perlu menyiapkan data terkait, lalu menjalankan skrip. Imajinasi tidak lagi terbatas; setiap orang dapat menyusun tugas pembuatan gambar apa pun, dan mungkin kita dapat mencapai hal-hal yang sangat menarik, menakjubkan, dan kreatif.
Jika Anda memiliki pertanyaan, ide, atau tugas menarik yang ingin Anda selesaikan oleh OmniGen, jangan ragu untuk berdiskusi dengan kami: [email protected], [email protected], [email protected]. Kami menerima masukan apa pun untuk membantu kami menyempurnakan model ini.
Anda dapat melihat detailnya di makalah kami.
OmniGen adalah model pembuatan gambar terpadu yang dapat Anda gunakan untuk melakukan berbagai tugas, termasuk namun tidak terbatas pada pembuatan teks-ke-gambar, pembuatan berdasarkan subjek, Pembuatan Pelestarian Identitas, pengeditan gambar, dan pembuatan pengkondisian gambar. OmniGen tidak memerlukan plugin atau operasi tambahan, ia dapat secara otomatis mengidentifikasi fitur (misalnya, objek yang diperlukan, pose manusia, pemetaan kedalaman) dalam gambar masukan sesuai dengan perintah teks. Kami menampilkan beberapa contoh di inference.ipynb. Dan di inference_demo.ipynb, kami menampilkan saluran yang menarik untuk menghasilkan dan memodifikasi gambar.
Berikut ilustrasi kemampuan OmniGen:
Anda dapat mengontrol pembuatan gambar secara fleksibel melalui OmniGen
Merujuk Pembuatan Ekspresi: Anda dapat memasukkan banyak gambar dan menggunakan bahasa umum yang sederhana untuk merujuk ke objek dalam gambar tersebut. OmniGen dapat secara otomatis mengenali objek yang diperlukan di setiap gambar dan menghasilkan gambar baru berdasarkan objek tersebut. Tidak diperlukan operasi tambahan, seperti pemotongan gambar atau deteksi wajah.
Jika Anda tidak sepenuhnya puas dengan fungsi tertentu atau ingin menambahkan kemampuan baru, Anda dapat mencoba menyempurnakan OmniGen.
Instal melalui Github:
git clone https://github.com/staoxiao/OmniGen.gitcd OmniGen instalasi pip -e .
Berikut beberapa contohnya:
dari OmniGen impor OmniGenPipelinepipe = OmniGenPipeline.from_pretrained("Shitao/OmniGen-v1") # Catatan: Jalur model lokal Anda juga dapat diterima, seperti 'pipe = OmniGenPipeline.from_pretrained(your_local_model_path)', dengan semua file di your_local_model_path harus diatur sebagai https://huggingface.co/Shitao/OmniGen-v1/tree/main # Catatan : Jika link asli https://huggingface.co/Shitao/OmniGen-v1/tree/main tidak stabil saat mendownload, disarankan menggunakan mirror link ini https://hf-mirror.com/Shitao/OmniGen -v1/tree/main atau cara lain di https://hf-mirror.com/ ## Text to Imageimages = pipe(prompt="Pria berambut keriting berkemeja merah sedang minum teh.", height=1024, lebar=1024, skala_bimbingan=2,5,benih=0, )images[0].save("example_t2i.png") # simpan output PIL Image## Multi-modal ke Image# Pada prompt, kita menggunakan placeholder untuk mewakili gambar. Placeholder gambar harus dalam format <|image_*|># Anda dapat menambahkan beberapa gambar di input_images. Harap pastikan bahwa setiap gambar memiliki placeholdernya. Misalnya, untuk daftar input_images [img1_path, img2_path], prompt harus memiliki dua placeholder: <|image_1|>, <|image_2|>.images = pipe (prompt="Seorang pria berkemeja hitam sedang membaca buku. Pria tersebut adalah pria yang tepat di <|image_1|>.",input_images=["./imgs/test_cases/two_man.jpg "],tinggi=1024, lebar=1024,guidance_scale=2.5, img_guidance_scale=1.6,seed=0)images[0].save("example_ti2i.png") # simpan gambar PIL keluaran
Jika kehabisan memori, Anda dapat mengatur offload_model=True
. Jika waktu inferensi terlalu lama saat memasukkan banyak gambar, Anda dapat mengurangi max_input_image_size
. Untuk sumber daya yang diperlukan dan metode menjalankan OmniGen secara efisien, silakan merujuk ke docs/inference.md#requiremented-resources.
Untuk contoh pembuatan gambar lainnya, Anda dapat merujuk ke inference.ipynb dan inference_demo.ipynb
Untuk detail lebih lanjut tentang argumen dalam inferensi, silakan merujuk ke docs/inference.md.
Segera hadir.
Kami membuat demo online di Huggingface.
Untuk demo gradio lokal, Anda perlu menginstal pip install gradio spaces
, lalu Anda dapat menjalankan:
pip instal aplikasi gradio spacepython.py
Kami menyediakan skrip pelatihan train.py
untuk menyempurnakan OmniGen. Berikut adalah contoh mainan tentang finetune LoRA:
mempercepat peluncuran --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 --gunakan_lora --lora_peringkat 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 --gradien_akumulasi_langkah 1 --ckpt_setiap 10 --zaman 200 --log_setiap 1 --results_dir ./results/toy_finetune_lora
Silakan merujuk ke docs/fine-tuning.md untuk detail lebih lanjut (misalnya penyempurnaan penuh).
Terima kasih kepada semua kontributor kami atas upaya mereka dan sambut hangat anggota baru untuk bergabung!
Repo ini dilisensikan di bawah Lisensi MIT.
Jika Anda merasa repositori ini bermanfaat, mohon pertimbangkan untuk memberi bintang ⭐ dan kutipan
@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} }