

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
<a name="tutorial-text-to-image-batch"></a>

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 ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/text_to_image_batch) ke armada GPU di farm Deadline Cloud Anda. Model defaultnya adalah [ FLUX.2 Klein 4B pada Hugging Face](https://huggingface.co/black-forest-labs/FLUX.2-klein-4B), yang berlisensi Apache 2.0, tidak dihilangkan, disuling hingga 4 langkah, dan membutuhkan sekitar 13 GB RAM video (VRAM).

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
<a name="tutorial-t2i-overview"></a>

Untuk menyelesaikan tutorial ini, ikuti langkah-langkah berikut:

1. Siapkan peternakan Anda.

1. Siapkan file input.

1. Kirim pekerjaan pembuatan gambar.

1. Unduh dan telusuri galeri.

1. Pembersihan sumber daya 

## Siapkan peternakan Anda
<a name="tutorial-t2i-setup"></a>

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 GitHub](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/cloudformation/farm_templates/cuda_farm), yang merupakan template yang sama dengan yang digunakan bundel inferensi batch vLLM. Setelah tumpukan mencapai`CREATE_COMPLETE`, konfigurasikan Deadline Cloud CLI untuk menggunakan farm baru:

```
deadline config set defaults.farm_id {{FarmId-from-stack-outputs}}
deadline config set defaults.queue_id {{CUDAQueueId-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
<a name="tutorial-t2i-input"></a>

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.jsonl`File 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
<a name="tutorial-t2i-submit"></a>

**Untuk mengirimkan dengan pengirim GUI**

1. Dari direktori `text_to_image_batch` bundel, buka pengirim:

   ```
   deadline bundle gui-submit .
   ```

1. Pilih file input JSONL Anda. C `sample_prompts.jsonl` oba demo kampanye toko roti.

1. Atur ** Rentang Prompt ** (`1-10`misalnya, untuk 10 prompt pertama) dan pilih direktori output.

1. Secara opsional tweak ** StyleSuffix**, ** Lebar**, dan ** Tinggi**. Tinggalkan ** Overlay ** Caption `true` jika JSONL Anda memiliki keterangan atau slogan, atau setel ke `false` untuk pembuatan gambar murni.

1. Pilih **Kirim**.

Atau, kirimkan dengan CLI:

```
deadline bundle submit . \
  --parameter InputFile=$PWD/sample_prompts.jsonl \
  --parameter Prompts=1-10 \
  --parameter OutputDir=$PWD/output
```

`ChunkSize`Param `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](build-job-bundle-chunking.md). `ModelName`Parameter 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](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/text_to_image_batch#parameters).

## Unduh dan telusuri galeri
<a name="tutorial-t2i-results"></a>

**Untuk mengunduh dan menelusuri hasil**

1. Setelah pekerjaan selesai, jalankan perintah unduh dari direktori yang sama yang Anda gunakan pada waktu pengiriman, sehingga `OutputDir` jalur diselesaikan ke tempat yang sama:

   ```
   deadline job download-output --job-id {{job-id}}
   ```

1. Setiap artefak mendarat di bawah `output/` subdirektori jalur yang Anda tetapkan. `OutputDir` PNG mentah masuk, metadata gabungan ada `output/images/``output/output.jsonl`, dan `output/gallery.html` merupakan penampil galeri statis dengan pencarian dan ekspor CSV.

1. Jika gambar galeri tidak dimuat saat Anda membuka `gallery.html` secara langsung, itu adalah batasan keamanan browser pada `file://` URL. Sajikan direktori sebagai gantinya:

   ```
   cd {{OutputDir}}/output && python3 -m http.server 8080
   # open http://localhost:8080/gallery.html
   ```

## RanTAI dari inferensi batch vLLM
<a name="tutorial-t2i-chaining"></a>

Aliran klasik memasangkan bundel ini dengan bundel inferensi batch vLLM:

1. Hasilkan teks dengan bundel inferensi batch vLLM: slogan, keterangan, deskripsi adegan, atau teks alternatif. Outputnya adalah `output.jsonl` dengan `generated_text` bidang per baris. Lihat [Jalankan inferensi LLM batch dengan vLLM](tutorial-vllm-batch.md).

1. (Opsional) Buka`tools/prompt_builder.html`, masukkan`output.jsonl`, tambahkan atau edit teks, gaya, atau deskripsi visual per prompt, dan ekspor ulang.

1. Kirim bundel ini dengan JSONL sebagai. `InputFile` Skrip per tugas secara otomatis digunakan `generated_text` sebagai keterangan overlay.

Ketika sebuah baris memiliki `generated_text` slogan dan LLM asli`prompt`, 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
<a name="tutorial-t2i-cleanup"></a>

Untuk menghindari biaya yang sedang berlangsung, bersihkan sumber daya yang Anda buat untuk tutorial ini:

**Untuk membersihkan sumber daya tutorial**

1. Jika Anda menerapkan CloudFormation template pertanian CUDA, hapus tum CloudFormation pukan dari CloudFormation konsol.

1. 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.

1. Hapus file output lokal jika Anda tidak lagi membutuhkannya.

## Sumber daya terkait
<a name="tutorial-t2i-related"></a>

Sumber daya berikut memberikan informasi tambahan:
+ [Contoh kode sumber pada GitHub ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/text_to_image_batch)
+ [Jalankan inferensi LLM batch dengan vLLM](tutorial-vllm-batch.md)
+ [Pemotongan tugas untuk templat pekerjaan](build-job-bundle-chunking.md)
+ [FLUX.2 Penyetelan halus dan pembuatan gambar Klein LoRa](flux2-klein-lora.md)
+ [Dokumentasi diffusers Hugging Face ](https://huggingface.co/docs/diffusers)