Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Hasilkan gambar dalam batch dengan model difusi
Tutorial ini memandu Anda menjalankan pembuatan gambar batch throughput tinggi pada file prompt JSONL menggunakan model difusi. Anda mengirimkan bundel pekerjaan batch text-to-image GitHub
Setiap baris yang dipilih di JSONL menjadi tugas pembuatan. Penjadwal mendistribusikan tugas di seluruh pekerja GPU yang tersedia, dan setiap pekerja memuat pipa difusi sekali dan menggunakannya kembali untuk setiap tugas yang dijalankannya. Ketika sebuah baris membawa caption bidang, atau generated_text bidang yang dirantai dari output bundel inferensi batch vLLM, pekerjaan menggabungkan teks di atas gambar yang dihasilkan sebagai tipografi yang tajam. Garis tanpa keterangan menghasilkan citra murni, sehingga bundel berfungsi sama baiknya dengan generator batch teks-ke-gambar biasa.
Perkiraan waktu: 30-60 menit, termasuk pengaturan pertanian. Proses pertama juga mengunduh sekitar 13 GB bobot model per pekerja.
Menjalankan tutorial ini dikenakan biaya untuk instance pekerja GPU yang memproses pekerjaan.
Gambaran umum
Untuk menyelesaikan tutorial ini, ikuti langkah-langkah berikut:
-
Siapkan peternakan Anda.
-
Siapkan file input.
-
Kirim pekerjaan pembuatan gambar.
-
Unduh dan telusuri galeri.
-
Pembersihan sumber daya
Siapkan peternakan Anda
Anda memerlukan armada yang dikelola layanan dengan GPU NVIDIA dan setidaknya 32 GB RAM, dan antrian dengan lingkungan antrian conda yang terpasang yang membaca CondaPackages dan parameter pekerjaan. CondaChannels FLUX.2 Klein 4B cocok dengan nyaman pada 16 GB dan GPU yang lebih besar (misalnya, L4 atau A10G) berkat offloading CPU.
Cara tercepat untuk mendapatkan farm yang kompatibel adalah dengan menerapkan CloudFormation template pertanian CUDA GitHubCREATE_COMPLETE, konfigurasikan Deadline Cloud CLI untuk menggunakan farm baru:
deadline config set defaults.farm_idFarmId-from-stack-outputsdeadline config set defaults.queue_idCUDAQueueId-from-stack-outputs
catatan
Bundel ini mencakup lingkungan InstallDeps pekerjaan yang menginstal PyTorch dan pustaka diffusers terbaru dari git di atas lingkungan conda antrian pada setiap sesi, ditambah mengunduh empat Font Google kecil untuk overlay keterangan. Harapkan 30-90 detik waktu pengaturan tambahan per pekerja pada penggunaan pertama, ditambah unduhan model saat pertama kali dijalankan. Jika armada Anda berjalan di VPC yang dibatasi jaringan, Anda perlu melakukan pra-memanggang dependensi ke saluran AMI atau conda khusus, atau membuka keluar.
Siapkan file input
Input adalah file JSONL dengan satu objek JSON per baris. Setiap baris harus memiliki prompt bidang atau generated_text bidang yang dirantai dari output bundel inferensi batch vLLM:
{"prompt": "A golden hour photo of a sourdough loaf on a linen-covered table", "id": "loaf_01"} {"prompt": "A bakery storefront at sunrise, photorealistic", "caption": "OPEN AT DAWN", "id": "shop_01"} {"prompt": "Write a slogan for sourdough", "id": "001", "generated_text": "Real grain. Real fermentation. Real you.", "style": "rustic flat lay, warm tones"}
Bidang per baris opsional termasuk caption untuk teks overlay, style untuk mengganti akhiran gaya tingkat pekerjaan,, dan,font, width dan. height steps seed Bundel menyertakan alat pembuat prompt tanpa ketergantungan yang sama dengan bundel batch vLLM. Buka tools/prompt_builder.html untuk membuat file input, impor JSONL dengan drag and drop, dan tambahkan penggantian per prompt.
sample_prompts.jsonlFile yang dibundel adalah demo kampanye roti 10 gambar: slogan roti yang dihasilkan oleh bundel inferensi batch vLLM, dengan petunjuk gaya berlapis untuk visual yang menggugah.
Kirim pekerjaan pembuatan gambar
Untuk mengirimkan dengan pengirim GUI
-
Dari direktori
text_to_image_batchbundel, buka pengirim:deadline bundle gui-submit . -
Pilih file input JSONL Anda. C
sample_prompts.jsonloba demo kampanye toko roti. -
Atur Rentang Prompt (
1-10misalnya, untuk 10 prompt pertama) dan pilih direktori output. -
Secara opsional tweak StyleSuffix, Lebar, dan Tinggi. Tinggalkan Overlay Caption
truejika JSONL Anda memiliki keterangan atau slogan, atau setel kefalseuntuk pembuatan gambar murni. -
Pilih Kirim.
Atau, kirimkan dengan CLI:
deadline bundle submit . \ --parameter InputFile=$PWD/sample_prompts.jsonl \ --parameter Prompts=1-10 \ --parameter OutputDir=$PWD/output
ChunkSizeParam Prompts eter dan bekerja dengan cara yang sama seperti pada bundel inferensi batch vLLM, menggunakan fitur pemotongan tugas Deadline Cloud. Untuk informasi selengkapnya, lihat Pemotongan tugas untuk templat pekerjaan. ModelNameParameter menerima apa pun yang dapat dimuat oleh pustaka diffuser, termasuk SDXL Turbo dan Stable Diffusion 3.5. Untuk daftar parameter lengkap dan pengaturan untuk model lain, lihat tabel parameter dalam contoh README pada GitHub
Unduh dan telusuri galeri
Untuk mengunduh dan menelusuri hasil
-
Setelah pekerjaan selesai, jalankan perintah unduh dari direktori yang sama yang Anda gunakan pada waktu pengiriman, sehingga
OutputDirjalur diselesaikan ke tempat yang sama:deadline job download-output --job-idjob-id -
Setiap artefak mendarat di bawah
output/subdirektori jalur yang Anda tetapkan.OutputDirPNG mentah masuk, metadata gabungan adaoutput/images/output/output.jsonl, danoutput/gallery.htmlmerupakan penampil galeri statis dengan pencarian dan ekspor CSV. -
Jika gambar galeri tidak dimuat saat Anda membuka
gallery.htmlsecara langsung, itu adalah batasan keamanan browser padafile://URL. Sajikan direktori sebagai gantinya:cdOutputDir/output && python3 -m http.server 8080 # open http://localhost:8080/gallery.html
RanTAI dari inferensi batch vLLM
Aliran klasik memasangkan bundel ini dengan bundel inferensi batch vLLM:
-
Hasilkan teks dengan bundel inferensi batch vLLM: slogan, keterangan, deskripsi adegan, atau teks alternatif. Outputnya adalah
output.jsonldengangenerated_textbidang per baris. Lihat Jalankan inferensi LLM batch dengan vLLM. -
(Opsional) Buka
tools/prompt_builder.html, masukkanoutput.jsonl, tambahkan atau edit teks, gaya, atau deskripsi visual per prompt, dan ekspor ulang. -
Kirim bundel ini dengan JSONL sebagai.
InputFileSkrip per tugas secara otomatis digunakangenerated_textsebagai keterangan overlay.
Ketika sebuah baris memiliki generated_text slogan dan LLM asliprompt, skrip tugas mencoba menarik subjek keluar dari permintaan dan menggunakannya sebagai prompt visual untuk model difusi, karena slogan seringkali terlalu abstrak untuk memberikan model subjek konkret. Pekerja mencatat sumber prompt visual per tugas sehingga Anda dapat menemukan kesalahan ekstraksi.
Bersihkan
Untuk menghindari biaya yang sedang berlangsung, bersihkan sumber daya yang Anda buat untuk tutorial ini:
Untuk membersihkan sumber daya tutorial
-
Jika Anda menerapkan CloudFormation template pertanian CUDA, hapus tum CloudFormation pukan dari CloudFormation konsol.
-
Jika Anda menggunakan farm yang ada dan membuat armada GPU khusus untuk tutorial ini, hentikan atau hapus armada itu. Jika Anda menggunakan armada bersama yang sudah ada sebelumnya, biarkan tetap di tempatnya.
-
Hapus file output lokal jika Anda tidak lagi membutuhkannya.
Sumber daya terkait
Sumber daya berikut memberikan informasi tambahan: