Hotshot-XL adalah model AI text-to-GIF yang dilatih untuk bekerja bersama Stable Diffusion XL.
Hotshot-XL dapat menghasilkan GIF dengan model SDXL apa pun yang telah disesuaikan. Ini berarti dua hal:
Anda akan dapat membuat GIF dengan model SDXL apa pun yang sudah ada atau yang baru disempurnakan yang mungkin ingin Anda gunakan.
Jika Anda ingin membuat GIF dengan subjek yang dipersonalisasi, Anda dapat memuat LORA berbasis SDXL Anda sendiri, dan tidak perlu khawatir untuk menyempurnakan Hotshot-XL. Ini luar biasa karena biasanya lebih mudah menemukan gambar yang cocok untuk data pelatihan daripada menemukan video. Mudah-mudahan ini juga cocok dengan penggunaan/alur kerja LORA yang ada semua orang :) Lihat selengkapnya di sini.
Hotshot-XL kompatibel dengan SDXL ControlNet untuk membuat GIF dalam komposisi/tata letak yang Anda inginkan. Lihat bagian ControlNet di bawah.
Hotshot-XL dilatih untuk menghasilkan GIF 1 detik pada 8 FPS.
Hotshot-XL dilatih tentang berbagai rasio aspek. Untuk hasil terbaik dengan model dasar Hotshot-XL, kami sarankan untuk menggunakannya dengan model SDXL yang telah disempurnakan dengan gambar 512x512. Anda dapat menemukan model SDXL yang kami sesuaikan untuk resolusi 512x512 di sini.
Coba Hotshot-XL sendiri di sini: https://www.hotshot.co
Atau, jika Anda ingin menjalankan Hotshot-XL sendiri secara lokal, lanjutkan ke bagian di bawah.
Jika Anda menjalankan Hotshot-XL sendiri, Anda akan memiliki lebih banyak fleksibilitas/kontrol dengan model tersebut. Sebagai contoh yang sangat sederhana, Anda dapat mengubah sampler. Kami telah melihat hasil terbaik dengan Euler-A sejauh ini, tetapi Anda mungkin menemukan hasil menarik dengan beberapa hasil lainnya.
pip install virtualenv --upgrade virtualenv -p $(which python3) venv source venv/bin/activate pip install -r requirements.txt
# Make sure you have git-lfs installed (https://git-lfs.com) git lfs install git clone https://huggingface.co/hotshotco/Hotshot-XL
atau kunjungi https://huggingface.co/hotshotco/Hotshot-XL
Catatan : Untuk memaksimalkan efisiensi data dan pelatihan, Hotshot-XL dilatih pada berbagai rasio aspek sekitar resolusi 512x512. Untuk hasil terbaik dengan model dasar Hotshot-XL, kami sarankan untuk menggunakannya dengan model SDXL yang telah disempurnakan dengan gambar dengan resolusi sekitar 512x512. Anda dapat mengunduh model SDXL yang kami latih dengan gambar dengan resolusi 512x512 di bawah, atau membawa model dasar SDXL Anda sendiri.
# Make sure you have git-lfs installed (https://git-lfs.com) git lfs install git clone https://huggingface.co/hotshotco/SDXL-512
atau kunjungi https://huggingface.co/hotshotco/SDXL-512
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif"
Apa yang Diharapkan:
Mengingatkan | Menyelam scuba sasquatch | seekor unta sedang merokok | Ronald McDonald duduk di depan cermin rias sambil memakai lipstik | Drake menjilat bibirnya dan menatap kue cupcake melalui jendela |
---|---|---|---|---|
Keluaran |
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --spatial_unet_base="path/to/stabilityai/stable-diffusion-xl-base-1.0/unet" --lora="path/to/lora"
Apa yang Diharapkan:
Catatan : Output di bawah ini menggunakan DDIMScheduler.
Mengingatkan | orang sks berteriak pada matahari capri | sks orang mencium kermit si katak | sks orang yang mengenakan tuksedo sambil memegang segelas sampanye, kembang api di latar belakang, hd, kualitas tinggi, 4K |
---|---|---|---|
Keluaran |
python inference.py --prompt="a girl jumping up and down and pumping her fist, hd, high quality" --output="output.gif" --control_type="depth" --gif="https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExbXNneXJicG1mOHJ2dzQ2Y2JteDY1ZWlrdjNjMjl3ZWxyeWFxY2EzdyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/YOTAoXBgMCmFeQQzuZ/giphy.gif"
Secara default, Hotshot-XL akan membuat bingkai utama dari gif sumber Anda menggunakan 8 bingkai dengan jarak yang sama dan memotong bingkai utama ke rasio aspek default. Untuk kontrol yang lebih detail, pelajari cara memvariasikan rasio aspek dan memvariasikan kecepatan/panjang frame.
Hotshot-XL saat ini mendukung penggunaan satu model ControlNet dalam satu waktu; mendukung Multi-ControlNet akan sangat menarik.
Apa yang Diharapkan:
Mengingatkan | gadis gaya pixar mengacungkan dua jempol, bahagia, kualitas tinggi, 8k, 3d, animasi disney render | keanu reaves memegang tanda bertuliskan "HELP", hd, kualitas tinggi | seorang wanita tertawa, hd, kualitas tinggi | barack obama membuat pelangi dengan tangannya, tulisan "MAGIC" di depannya, memakai hoodie bergaris biru putih hd kualitas tinggi |
---|---|---|---|---|
Keluaran | ||||
Kontrol |
Catatan : Model SDXL dasar dilatih untuk membuat gambar terbaik dengan resolusi 1024x1024. Untuk memaksimalkan efisiensi data dan pelatihan, Hotshot-XL dilatih pada rasio aspek sekitar resolusi 512x512. Silakan lihat Catatan Tambahan untuk daftar rasio aspek yang digunakan untuk melatih model dasar Hotshot-XL.
Seperti SDXL, Hotshot-XL dilatih pada berbagai rasio aspek dengan pengelompokan rasio aspek, dan mencakup dukungan untuk parameter SDXL seperti ukuran target dan ukuran asli. Ini berarti Anda dapat membuat GIF pada beberapa rasio aspek dan resolusi berbeda, hanya dengan model dasar Hotshot-XL.
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --width=<WIDTH> --height=<HEIGHT>
Apa yang Diharapkan:
512x512 | 672x384 | 384x672 | |
---|---|---|---|
monyet bermain gitar, rekaman alam, hd, kualitas tinggi |
Secara default, Hotshot-XL dilatih untuk menghasilkan GIF berdurasi 1 detik dengan 8FPS. Jika Anda ingin bermain-main dengan menghasilkan GIF dengan kecepatan bingkai dan durasi waktu yang bervariasi, Anda dapat mencoba parameter video_length
dan video_duration
.
video_length
mengatur jumlah frame. Nilai defaultnya adalah 8.
video_duration
menyetel waktu proses gif keluaran dalam milidetik. Nilai defaultnya adalah 1000.
Harap perhatikan bahwa Anda akan mendapatkan hasil yang tidak stabil/"gelisah" saat memodifikasi parameter ini karena model hanya dilatih dengan video 1 detik @ 8fps. Anda akan dapat meningkatkan stabilitas hasil untuk jangka waktu dan kecepatan bingkai yang berbeda dengan menyempurnakan Hotshot-XL. Harap beri tahu kami jika Anda melakukannya!
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --video_length=16 --video_duration=2000
Hotshot-XL dilatih untuk menghasilkan GIF bersama SDXL. Jika Anda hanya ingin menghasilkan gambar, Anda cukup menyetel video_length=1
di panggilan inferensi Anda dan lapisan temporal Hotshot-XL akan diabaikan, seperti yang Anda harapkan.
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.jpg" --video_length=1
Hotshot-XL dilatih pada rasio aspek berikut; untuk menghasilkan GIF secara andal di luar rentang rasio aspek ini, Anda perlu menyempurnakan Hotshot-XL dengan video pada resolusi rasio aspek yang Anda inginkan.
Rasio Aspek | Ukuran |
---|---|
0,42 | 320x768 |
0,57 | 384x672 |
0,68 | 416x608 |
1,00 | 512x512 |
1.46 | 608x416 |
1.75 | 672x384 |
2.40 | 768x320 |
Bagian berikut berkaitan dengan penyempurnaan model temporal Hotshot-XL dengan pasangan teks/video tambahan. Jika Anda mencoba membuat GIF dari konsep/subjek yang dipersonalisasi, kami sarankan untuk tidak menyempurnakan Hotshot-XL, melainkan melatih LORA berbasis SDXL Anda sendiri dan cukup memuatnya.
Skrip fine_tune.py
mengharapkan sampel Anda terstruktur seperti ini:
fine_tune_dataset ├── sample_001 │ ├── 0.jpg │ ├── 1.jpg │ ├── 2.jpg ... ... │ ├── n.jpg │ └── prompt.txt
Setiap direktori sampel harus berisi n bingkai kunci dan file prompt.txt
yang berisi prompt. Pos pemeriksaan terakhir akan disimpan ke output_dir
. Kami merasa berguna untuk sering mengirim GIF validasi ke Weights & Bias. Jika Anda memilih untuk menggunakan validasi dengan Bobot & Bias, Anda dapat mengatur seberapa sering validasi ini dijalankan dengan parameter validate_every_steps
.
accelerate launch fine_tune.py --output_dir="<OUTPUT_DIR>" --data_dir="fine_tune_dataset" --report_to="wandb" --run_validation_at_start --resolution=512 --mixed_precision=fp16 --train_batch_size=4 --learning_rate=1.25e-05 --lr_scheduler="constant" --lr_warmup_steps=0 --max_train_steps=1000 --save_n_steps=20 --validate_every_steps=50 --vae_b16 --gradient_checkpointing --noise_offset=0.05 --snr_gamma --test_prompts="man sits at a table in a cafe, he greets another man with a smile and a handshakes"
Ada banyak cara yang membuat kami bersemangat untuk meningkatkan Hotshot-XL. Misalnya:
Menyempurnakan Hotshot-XL pada kecepatan bingkai lebih besar untuk membuat GIF dengan kecepatan bingkai lebih panjang/lebih tinggi
Menyempurnakan Hotshot-XL pada resolusi lebih besar untuk membuat GIF dengan resolusi lebih tinggi
Melatih lapisan temporal untuk peningkatan laten guna menghasilkan GIF dengan resolusi lebih tinggi
Melatih model "prediksi bingkai" yang dikondisikan gambar untuk GIF yang lebih koheren dan lebih panjang
Melatih lapisan temporal untuk VAE guna mengurangi kedipan/keragu-raguan pada keluaran
Mendukung Multi-ControlNet untuk kontrol lebih besar atas pembuatan GIF
Melatih & mengintegrasikan model ControlNet yang berbeda untuk kontrol lebih lanjut atas pembuatan GIF (kontrol ekspresi wajah yang lebih halus akan sangat keren)
Memindahkan Hotshot-XL ke AITemplate untuk waktu inferensi yang lebih cepat
Kami ? kontribusi dari komunitas sumber terbuka! Harap beri tahu kami di bagian terbitan atau PR jika Anda tertarik untuk melakukan perbaikan ini atau hal lainnya!
@software{Mullan_Hotshot-XL_2023, author = {Mullan, John and Crawbuck, Duncan and Sastry, Aakash}, license = {Apache-2.0}, month = oct, title = {{Hotshot-XL}}, url = {https://github.com/hotshotco/hotshot-xl}, version = {1.0.0}, year = {2023} }
Model Text-to-Video berkembang pesat dan pengembangan Hotshot-XL sangat terinspirasi oleh karya dan tim luar biasa berikut:
SDXL
Sejajarkan Laten Anda
Buat-A-Video
AnimateDiff
Video Gambar
Kami berharap peluncuran model/basis kode ini dapat membantu komunitas untuk terus mendorong alat kreatif ini secara terbuka dan bertanggung jawab.