Qwen Image 2512 Eğitimi: Gradio ile Bir Poster Stüdyosu Kurun
Qwen-Image-2512 ile güçlü tipografi, temiz yerleşim ve fotogerçekçi ürün sahneleri üreten bir Gradio Poster Stüdyosu Uygulaması nasıl kurulur, öğrenin.
Qwen-Image-2512, özellikle gerçekçi görseller ve metin ağırlıklı kompozisyonlarda başarılı olan güçlü bir açık kaynak metinden-görüntüye modeldir. Bu eğitimde, ürün adı, teklif, fiyat, CTA ve faydalar gibi ürün ayrıntılarını girdiğiniz, bir platform en-boy oranı seçtiğiniz ve tek tıkla bir tanıtım görseli ürettiğiniz bir Poster Stüdyosu, bir Gradio uygulaması kurmak için bunu kullanacağız.
Qwen-Image-2512 büyük bir model olduğundan, onu sorunsuz çalıştırmanın pratik yönlerine de odaklanacağız. A100 üzerinde doğru hassasiyet ayarlarıyla nasıl kararlı şekilde yükleneceğini, yaygın hata biçimlerinden nasıl kaçınılacağını ve daha küçük çözünürlüklerde yineleyerek, adımları azaltarak veya daha sıkı donanımlar için kuantize bir modeli keşfederek herhangi bir iş akışına nasıl uyarlanacağını öğreneceksiniz.
Qwen-Image-2512 nedir?
Qwen-Image-2512, Qwen metinden-görüntüye temel modelinin bir güncellemesidir ve önceki Qwen-Image sürümüne göre kalite sıçraması sunar. Kaputun altında, Qwen-Image bir 20B MMDiT difüzyon modelidir, güçlü komut uyumu ve görüntüde metin oluşturma için tasarlanmıştır.
Ayrıca AI Arena üzerinde 10.000+ kör turla yapılan geniş ölçekli bir tercih tarzı değerlendirme tarafından desteklenmektedir; model, kapalı sistemlerle rekabetçi kalırken en güçlü açık kaynak model olarak öne çıkmıştır.
Gerçek iş akışlarında en çok önem taşıyan üç iyileştirme şunlardır:
Daha gerçekçi insan portreleri: Yüzler daha az “yapay” görünür; yüz hatları daha keskin, cilt ayrıntıları daha doğal ve genel gerçekçilik daha iyidir.
Daha zengin doğal dokular: Manzaralar, su, kürk ve malzemeler gibi doku yoğun sahneler daha ince ayrıntılar ve daha ikna edici mikro doku ile oluşturulur.
Daha güçlü tipografi ve yerleşim: Metin oluşturma daha isabetlidir ve kompozisyonlar daha sayfa benzeri bir yapıya sahiptir; bu da özellikle posterler, slaytlar, afişler ve infografikler için faydalıdır.
Qwen Image 2512 Örnek Proje: Bir Poster Stüdyosu Kurun
Bu bölümde aşağıdaki işlemleri yapan basit bir Gradio uygulaması kuracağız:
Ürün adı, açıklama, teklif, fiyat, CTA ve faydaları toplar
Kullanıcının Instagram gönderisi/hikayesi, afiş, poster veya slaytlar gibi bir platform ön ayarı seçmesine izin verir
steps, true_cfg_scale, seed ve isteğe bağlı bir negative prompt için bir panel sunar.
Son olarak, QwenImagePipeline kullanarak bir poster görseli üretir.
Adım adım oluşturalım.
Adım 1: Önkoşullar
Önce GitHub’dan en güncel Diffusers’ı kurun (Qwen’in model kartı, boru hattı desteği için bunu öneriyor) ve temel bağımlılıklarla birlikte:
Eğer CUDA available: True görüyorsanız ve nvidia-smi içinde GPU’nuzu görüyorsanız, modeli yüklemeye hazırsınız.
Not: QwenImagePipeline tek bir UNet tarzı blok değildir. Diffusers içinde; bir Qwen2.5-VL-7B-Instruct metin kodlayıcı, MMDiT difüzyon dönüştürücü ve çözümleme için bir Varyasyonel Otomatik Kodlayıcı(VAE) içeren tam bir yığındır. 7B metin kodlayıcı, özellikle daha küçük GPU’larda model yükleme ve üretim sırasında RAM/VRAM kullanımının artmasının başlıca nedenlerinden biridir.
Bu eğitimi Google Colab üzerinde bir A100 ile çalıştırdım; ~50 adımda 1328×1328 görüntü çözünürlüğünü rahatlıkla karşılıyor. T4/16GB sınıfı GPU’larda genellikle ölçeği küçültmek (yaklaşık 768×768 görüntü çözünürlüğü ve daha az adım) ya da alternatif çalışma zamanları (GGUF/ComfyUI gibi) üzerinden kuantize varyantlar kullanmak gerekir.
Adım 2: İçe aktarımlar ve temel yardımcılar
Modeli yüklemeden önce, Colab’ı öngörülebilir kılan küçük bir çalışma zamanı düzeneği kurmaya değer. Qwen-Image-2512 ağırdır ve görüntü üretim iş yükleri hem sistem RAM’ini hem de GPU belleğini sessizce tüketebilir.
Bağımlılıklar kurulduktan sonra içe aktarımlar, önbellekleme, bellek izleme ve birkaç GPU performans bayrağını ayarlıyoruz. Kodda şu şekilde görünür:
QwenImagePipeline: Görüntü üretimi için ileride Qwen-Image-2512’yi yüklemek ve çalıştırmak üzere kullanacağımız ana boru hattı sınıfı.
gradio: Basit web arayüzünü sağlar; böylece posterleri Colab içinde üretebiliriz.
HF_HOME=/content/hf: Hugging Face önbelleğini bilinen bir klasöre sabitlemek için kullanıyoruz; böylece model indirmeleri ve ağırlıklar çalıştırmalar arasında tutarlı şekilde saklanır.
mem() işlevi: mem() işlevi, ayrılmış ve rezerve edilmiş GPU VRAM’i ile sistem RAM’ini takip eder.
cleanup() işlevi: Python referanslarını temizlemek ve önbelleğe alınmış GPU belleğini boşaltmak için küçük bir sıfırlama yardımcı aracıdır; çözünürlük/adımlar üzerinde yineleme yaparken işe yarar.
GPU kontrolleri: CUDA kullanılabilir değilse hızlıca hataya düşeriz, ardından A100 gibi Ampere GPU’larda matris çarpmalarını hızlandırmak için TF32’yi etkinleştirir ve matmul hassasiyetini "high" olarak ayarlarız.
Bu kurulum henüz görüntü üretmez; ancak sonraki adımların (yükleme ve çıkarım) çok daha kararlı ve ayıklanabilir olmasını sağlar.
Adım 3: Qwen-Image-2512’yi yükleyin
Çalışma zamanı kurulduğuna göre, modeli Diffusers boru hattına yükleme zamanı. A100 üzerinde, performans için çoğu ağırlığı BF16’da çalıştırmak en iyi noktadır; ancak tamamen siyah görüntüler olarak görünebilen NaN’lerden kaçınmak için VAE çözümlemeyi FP32’de tutun.
Ampere/Hopper GPU’larda (A100/H100) BF16 genellikle en iyi varsayılandır; çünkü FP32’den daha hızlı ve bellek açısından verimlidir, büyük modeller için FP16’ya göre de daha sayısal olarak kararlıdır.
Ardından, Hugging Face’ten tam Qwen-Image-2512 boru hattını yüklüyor ve model bileşenlerini tek bir çağrılabilir arayüze bağlıyoruz. Bunun için birkaç önemli argüman kullanıyoruz:
torch_dtype=DTYPE: Çoğu ağırlığı BF16’da yükleyerek VRAM’i azaltır ve çıkarımı hızlandırır.
low_cpu_mem_usage=True: Yükleme sırasında CPU tarafındaki çoğaltmayı azaltır (büyük denetim noktaları için önemlidir).
use_safetensors=True: Mümkün olduğunda daha güvenli/hızlı safetensors biçimini kullanmayı sağlar.
Son olarak, pipe.vae.to(torch.float32) latent uzay çıktılarının piksele dönüştürülmesini gerçekleştirir. Bu çözümleme adımı daha düşük hassasiyette NaN/Inf’e çarparsa, nihai görüntü tamamen siyah olabilir. Bu yüzden VAE’yi FP32’ye zorluyor ve ardından cleanup() çağrısıyla yükleme sonrası RAM/VRAM ayak izini doğruluyoruz.
Sırada platform en-boy oranı ön ayarlarını tanımlayıp boru hattını etkileşimli poster üretimi için minimal bir Gradio arayüzüne bağlamak var.
Adım 4: Ön ayarlar ve görüntü üretim işlevi
Şimdi demonun motorunu kuruyoruz; yani, UI girdilerini iyi yapılandırılmış bir komuta dönüştüren, platform ön ayarlarına göre çıkış çözünürlüğü seçen ve görsel üretmek için Qwen Image boru hattını çağıran küçük bir katman.
ASPECT_PRESETS ={"Instagram Post (1:1) — 1328×1328":(1328,1328),"Instagram Story (9:16) — 928×1664":(928,1664),"YouTube / Banner (16:9) — 1664×928":(1664,928),"Poster (3:4) — 1104×1472":(1104,1472),"Slides (4:3) — 1472×1104":(1472,1104),"Fast Draft (1:1) — 768×768":(768,768),}
DEFAULT_NEG =" "defbuild_prompt(product_name, product_desc, offer, price, cta, benefits, tone, style_keywords, language):returnf"""
Create a high-converting e-commerce promotional poster in {language}. Clean grid layout, strong hierarchy.
- Product name: "{product_name}"
- Product description: "{product_desc}"
- Offer headline (exact): "{offer}"
- Price (exact): "{price}"
- CTA button text (exact): "{cta}"
- Benefits (use these exact phrases, no typos):
{benefits}
- Tone: {tone}
- Style keywords: {style_keywords}
- Text must be legible and correctly spelled.
- Do not add extra words, fake prices, or random letters.
- Align typography to a neat grid with consistent margins.
""".strip()@torch.inference_mode()defgenerate_image(product_name, product_desc, offer, price, cta, benefits, tone, style_keywords,
language, preset, negative_prompt, steps, true_cfg_scale, seed, show_seed):
w, h = ASPECT_PRESETS[preset]
prompt = build_prompt(product_name, product_desc, offer, price, cta, benefits, tone, style_keywords, language)if seed isNoneorint(seed)<0:
seed = random.randint(0,2**31-1)
seed =int(seed)
gen = torch.Generator(device="cuda").manual_seed(seed)
img = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
width=int(w),
height=int(h),
num_inference_steps=int(steps),
true_cfg_scale=float(true_cfg_scale),
generator=gen,).images[0].convert("RGB")return(seed if show_seed elseNone), imgAltyapı:
Yukarıdaki ön ayar haritası ve iki işlev, Poster Stüdyomuzun çekirdek motorunu oluşturur.
ASPECT_PRESETS sözlüğü, farklı platform tuval boyutlarını tanımlar (ör. Instagram gönderileri için 1:1, Hikayeler için 9:16, afişler için 16:9). Kullanıcılar sadece bir ön ayar seçer ve biz bunu üretim için doğru genişlik × yükseklik değerlerine çeviririz.
build_prompt() işlevi, ad, teklif, fiyat, CTA ve faydalar gibi düz ürün girdilerini bir görüntü brifine dönüştürür. Düzen ve metin kurallarını dikkate alır; böylece model her seferinde tutarlı kısıtlar alır ve rastgele metne sapmaz.
generate_image() işlevi yürütme katmanıdır. Seçilen ön ayarı okuyarak genişlik/yükseklik değerlerini alır ve seçilen steps, true_cfg_scale ve negative_prompt ile Qwen-Image boru hattını çağırır. Son olarak üretilen posteri (ve isteğe bağlı olarak çekirdeği/seed’i) döndürür. steps, difüzyon sürecinin ne kadar sürdüğünü kontrol eder (daha fazla adım daha yavaş ama genelde daha temiz sonuçlar), true_cfg_scale ise modelin komuta ne kadar sıkı uyduğunu ayarlar (daha yüksek değer daha iyi uyum demektir; ancak çok yükseltmek artefaktlara neden olabilir).
Sırada generate_image() işlevini bir Gradio arayüzüne gömerek kullanıcıların ham komut mühendisliği ile uğraşmadan poster üretmesini sağlamak var.
Adım 5: Gradio UI
Son olarak, poster üretim motorunu bir Gradio arayüzüne sarıyoruz. Uygulama, kullanıcının ürün ayrıntılarını yazmasına, bir platform en-boy oranı seçmesine ve Oluştur’a basmasına olanak tanır.
Sol sütun, poster brifi için tüm etkileşimli denetimleri tanımlar. Kullanıcılar ürün alanlarını doldurur; ardından bir ton seçer, stil anahtar sözcükleri ekler, bir dil belirler ve bir platform ön ayarı seçer. Ön ayar önemlidir; çünkü ASPECT_PRESETS kullanılarak doğrudan nihai genişlik × yükseklik ile eşleşir.
“Gelişmiş” düğmeleri, modele kaç denoising yinelemesi yaptırılacağını ve modelin komuta ne kadar sıkı uyacağını sırasıyla kontrol eden steps ve true_cfg_scale gibi temel parametreleri içerir. Çekirdek/seed tekrarlanabilirliği kontrol eder ve show_seed nihai çekirdeği isteğe bağlı olarak gösterir.
Sağ sütun, üretilen poster görselini ve isteğe bağlı olarak o üretimde kullanılan çekirdeği barındırır.
Son olarak, btn.click() çağrısı her şeyi birbirine bağlar. Gradio, tüm giriş bileşenlerini sırayla alır, bunları generate_image()’e iletir ve döndürülen değerleri çıktı bileşenlerine yönlendirir. Son olarak demo.launch(share=True, debug=True) Gradio sunucusunu başlatır, demolar için paylaşılabilir bir genel bağlantı verir ve sorunları teşhis etmeye yardımcı olması için not defterine hata ayıklama günlükleri yazdırır.
Son uygulamamız olan Qwen Image 2512’nin çalışır hâlini gösteren bir video burada:
Sonuç
Qwen-Image-2512, hem fotogerçekçi görseller hem de güvenilir metin ağırlıklı yerleşimler üretmek için uygundur. Bu eğitimde, Diffusers üzerinde uçtan uca bir Poster Stüdyosu kurduk. Modeli bir A100 üzerinde yükledik, platform en-boy oranı ön ayarları ekledik ve her şeyi basit ürün girdilerini cilalı e-ticaret görsellerine dönüştüren bir Gradio arayüzüne sardık.
Daha küçük GPU’larda çalışıyorsanız, aynı iş akışı geçerlidir; sadece 768×768 çözünürlükte yineleyin, adımları azaltın ve ölçeklemeniz gerektiğinde kuantize çalışma zamanlarını değerlendirin.
Qwen-Image-2512 SSS
Qwen-Image-2512’yi bir tüketici GPU’sunda (ör. RTX 4090) çalıştırabilir miyim?⌄
Evet, ancak muhtemelen tam modeli orijinal hassasiyetinde çalıştıramazsınız. Tam BF16 sürümü yaklaşık 48 GB+ VRAM gerektirir; bu da standart tüketici kartlarının erişiminin dışında kalır (24 GB RTX 4090 bile). Ancak, FP8 kuantizasyonu veya GGUF biçimlerini kullanarak 24 GB kartlarda çalıştırabilirsiniz (tıpkı insanların Llama 3’ü yerel olarak çalıştırmasına benzer). 16 GB kartlar için, modeli çökmeden belleğe sığdırmak amacıyla neredeyse kesinlikle 4-bit (Q4_K_M) GGUF varyantlarına ihtiyaç duyarsınız.
Qwen-Image-2512 ticari kullanım için ücretsiz mi?⌄
Bazı rakiplerin kısıtlayıcı "yalnızca araştırma" veya "ticari olmayan" topluluk lisanslarını kullanmasının aksine, Qwen-Image-2512 Apache 2.0 lisansı altında yayımlandı. Bu genel olarak modeli ticari uygulamalar için kullanmanıza, ürünlere entegre etmenize ve (bu Poster Stüdyosu gibi) hizmetler oluşturmanıza, lisans koşullarına uyduğunuz sürece telif ücreti ödemeden olanak tanır.
Bu, FLUX.2 ile nasıl karşılaştırılır?⌄
Farklı güçlü yönlere sahip rakiplerdir.
FLUX.2 (ve FLUX.1 Pro) genel olarak fotogerçekçilik ve estetikte en iyisi kabul edilir. Eğer "atmosfer", sanatsal stil veya fotoğrafçılık için yerel 4MP çözünürlük gerekiyorsa, FLUX.2 genellikle üstündür.
Qwen-Image-2512, metin oluşturma ve yönerge takibinde öne çıkar. Büyük (7B parametreli) bir metin kodlayıcı kullandığı için, karmaşık komut yerleşimlerini ("metin X’i buraya yerleştir, düğme Y’yi şuraya koy") FLUX’tan çok daha isabetli şekilde takip eder. Ayrıca iki dilli metinde (Çince/İngilizce) ve belge benzeri görüntüler (posterler, çizelgeler, faturalar) üretmede daha iyidir.
Diffusers’ı kaynaktan kurmam gerekir mi?⌄
Evet, Qwen-Image-2512 için model kartı, en güncel boru hattı desteği için Diffusers’ı GitHub’dan kurmanızı söylüyor.
`guidance_scale` doğru ayar düğmesi mi?⌄
Şu anda Qwen-Image için hayır. Mevcut Diffusers entegrasyonunda, guidance_scale esasen bir yer tutucudur; bu yüzden classifier-free guidance vermez. Bu nedenle, kılavuzu kontrol etmek için (tek bir boşluk “ ” bile olsa) bir negative_prompt ile birlikte true_cfg_scale kullandık. Daha yüksek true_cfg_scale komuta uyumu artırır; ancak çok yükseltmek artefaktlara yol açabilir.
Qwen-Image-2512 SSS model boyutu nedir?⌄
HF deposuna göre, Qwen-Image-2512’nin boyutu ~57,7 GB’tır; bu da yerel çıkarım için oldukça büyüktür.
Bellek kullanımı neden bu kadar yüksek?⌄
Bellek kullanımı yüksektir; çünkü boru hattı, difüzyon dönüştürücüsünün ve Varyasyonel Otomatik Kodlayıcı’nın (VAE) yanı sıra büyük bir metin kodlayıcıyı (Qwen2.5-VL-7B Instruct) içerir.
ML (Üretken Yapay Zekâ) alanında Google Developers Uzmanıyım, Kaggle 3x Expert unvanına sahibim ve 3+ yıllık teknoloji deneyimiyle Women Techmakers Elçisiyim. 2020'de bir sağlık teknolojileri girişiminin kurucu ortağı oldum ve Georgia Tech'te makine öğrenmesi alanında uzmanlaşarak bilgisayar bilimleri yüksek lisansı yapıyorum.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Qwen-Image-2512, özellikle gerçekçi görseller ve metin ağırlıklı kompozisyonlarda başarılı olan güçlü bir açık kaynak metinden-görüntüye modeldir. Bu eğitimde, ürün adı, teklif, fiyat, CTA ve faydalar gibi ürün ayrıntılarını girdiğiniz, bir platform en-boy oranı seçtiğiniz ve tek tıkla bir tanıtım görseli ürettiğiniz bir Poster Stüdyosu, bir Gradio uygulaması kurmak için bunu kullanacağız.
Qwen-Image-2512 büyük bir model olduğundan, onu sorunsuz çalıştırmanın pratik yönlerine de odaklanacağız. A100 üzerinde doğru hassasiyet ayarlarıyla nasıl kararlı şekilde yükleneceğini, yaygın hata biçimlerinden nasıl kaçınılacağını ve daha küçük çözünürlüklerde yineleyerek, adımları azaltarak veya daha sıkı donanımlar için kuantize bir modeli keşfederek herhangi bir iş akışına nasıl uyarlanacağını öğreneceksiniz.
Qwen-Image-2512 nedir?
Qwen-Image-2512, Qwen metinden-görüntüye temel modelinin bir güncellemesidir ve önceki Qwen-Image sürümüne göre kalite sıçraması sunar. Kaputun altında, Qwen-Image bir 20B MMDiT difüzyon modelidir, güçlü komut uyumu ve görüntüde metin oluşturma için tasarlanmıştır.
Ayrıca AI Arena üzerinde 10.000+ kör turla yapılan geniş ölçekli bir tercih tarzı değerlendirme tarafından desteklenmektedir; model, kapalı sistemlerle rekabetçi kalırken en güçlü açık kaynak model olarak öne çıkmıştır.
Gerçek iş akışlarında en çok önem taşıyan üç iyileştirme şunlardır:
Qwen Image 2512 Örnek Proje: Bir Poster Stüdyosu Kurun
Bu bölümde aşağıdaki işlemleri yapan basit bir Gradio uygulaması kuracağız:
steps,true_cfg_scale,seedve isteğe bağlı birnegative promptiçin bir panel sunar.QwenImagePipelinekullanarak bir poster görseli üretir.Adım adım oluşturalım.
Adım 1: Önkoşullar
Önce GitHub’dan en güncel Diffusers’ı kurun (Qwen’in model kartı, boru hattı desteği için bunu öneriyor) ve temel bağımlılıklarla birlikte:
Ardından, CUDA’nın kullanılabilir olduğunu doğrulamak ve GPU’yu belirlemek için hızlı bir sağlama yapın:
Eğer
CUDA available: Truegörüyorsanız venvidia-smiiçinde GPU’nuzu görüyorsanız, modeli yüklemeye hazırsınız.Not:
QwenImagePipelinetek bir UNet tarzı blok değildir. Diffusers içinde; bir Qwen2.5-VL-7B-Instruct metin kodlayıcı, MMDiT difüzyon dönüştürücü ve çözümleme için bir Varyasyonel Otomatik Kodlayıcı(VAE) içeren tam bir yığındır. 7B metin kodlayıcı, özellikle daha küçük GPU’larda model yükleme ve üretim sırasında RAM/VRAM kullanımının artmasının başlıca nedenlerinden biridir.Bu eğitimi Google Colab üzerinde bir A100 ile çalıştırdım; ~50 adımda 1328×1328 görüntü çözünürlüğünü rahatlıkla karşılıyor. T4/16GB sınıfı GPU’larda genellikle ölçeği küçültmek (yaklaşık 768×768 görüntü çözünürlüğü ve daha az adım) ya da alternatif çalışma zamanları (GGUF/ComfyUI gibi) üzerinden kuantize varyantlar kullanmak gerekir.
Adım 2: İçe aktarımlar ve temel yardımcılar
Modeli yüklemeden önce, Colab’ı öngörülebilir kılan küçük bir çalışma zamanı düzeneği kurmaya değer. Qwen-Image-2512 ağırdır ve görüntü üretim iş yükleri hem sistem RAM’ini hem de GPU belleğini sessizce tüketebilir.
Bağımlılıklar kurulduktan sonra içe aktarımlar, önbellekleme, bellek izleme ve birkaç GPU performans bayrağını ayarlıyoruz. Kodda şu şekilde görünür:
QwenImagePipeline: Görüntü üretimi için ileride Qwen-Image-2512’yi yüklemek ve çalıştırmak üzere kullanacağımız ana boru hattı sınıfı.gradio: Basit web arayüzünü sağlar; böylece posterleri Colab içinde üretebiliriz.HF_HOME=/content/hf: Hugging Face önbelleğini bilinen bir klasöre sabitlemek için kullanıyoruz; böylece model indirmeleri ve ağırlıklar çalıştırmalar arasında tutarlı şekilde saklanır.mem()işlevi: mem() işlevi, ayrılmış ve rezerve edilmiş GPU VRAM’i ile sistem RAM’ini takip eder.cleanup()işlevi: Python referanslarını temizlemek ve önbelleğe alınmış GPU belleğini boşaltmak için küçük bir sıfırlama yardımcı aracıdır; çözünürlük/adımlar üzerinde yineleme yaparken işe yarar.Bu kurulum henüz görüntü üretmez; ancak sonraki adımların (yükleme ve çıkarım) çok daha kararlı ve ayıklanabilir olmasını sağlar.
Adım 3: Qwen-Image-2512’yi yükleyin
Çalışma zamanı kurulduğuna göre, modeli Diffusers boru hattına yükleme zamanı. A100 üzerinde, performans için çoğu ağırlığı BF16’da çalıştırmak en iyi noktadır; ancak tamamen siyah görüntüler olarak görünebilen NaN’lerden kaçınmak için VAE çözümlemeyi FP32’de tutun.
Yukarıdaki kodda hedeflediklerimiz şunlar:
torch_dtype=DTYPE: Çoğu ağırlığı BF16’da yükleyerek VRAM’i azaltır ve çıkarımı hızlandırır.low_cpu_mem_usage=True: Yükleme sırasında CPU tarafındaki çoğaltmayı azaltır (büyük denetim noktaları için önemlidir).use_safetensors=True: Mümkün olduğunda daha güvenli/hızlı safetensors biçimini kullanmayı sağlar.pipe.vae.to(torch.float32)latent uzay çıktılarının piksele dönüştürülmesini gerçekleştirir. Bu çözümleme adımı daha düşük hassasiyette NaN/Inf’e çarparsa, nihai görüntü tamamen siyah olabilir. Bu yüzden VAE’yi FP32’ye zorluyor ve ardındancleanup()çağrısıyla yükleme sonrası RAM/VRAM ayak izini doğruluyoruz.Sırada platform en-boy oranı ön ayarlarını tanımlayıp boru hattını etkileşimli poster üretimi için minimal bir Gradio arayüzüne bağlamak var.
Adım 4: Ön ayarlar ve görüntü üretim işlevi
Şimdi demonun motorunu kuruyoruz; yani, UI girdilerini iyi yapılandırılmış bir komuta dönüştüren, platform ön ayarlarına göre çıkış çözünürlüğü seçen ve görsel üretmek için Qwen Image boru hattını çağıran küçük bir katman.
Yukarıdaki ön ayar haritası ve iki işlev, Poster Stüdyomuzun çekirdek motorunu oluşturur.
ASPECT_PRESETSsözlüğü, farklı platform tuval boyutlarını tanımlar (ör. Instagram gönderileri için 1:1, Hikayeler için 9:16, afişler için 16:9). Kullanıcılar sadece bir ön ayar seçer ve biz bunu üretim için doğrugenişlik × yükseklikdeğerlerine çeviririz.build_prompt()işlevi, ad, teklif, fiyat, CTA ve faydalar gibi düz ürün girdilerini bir görüntü brifine dönüştürür. Düzen ve metin kurallarını dikkate alır; böylece model her seferinde tutarlı kısıtlar alır ve rastgele metne sapmaz.generate_image()işlevi yürütme katmanıdır. Seçilen ön ayarı okuyarakgenişlik/yükseklikdeğerlerini alır ve seçilensteps,true_cfg_scalevenegative_promptile Qwen-Image boru hattını çağırır. Son olarak üretilen posteri (ve isteğe bağlı olarak çekirdeği/seed’i) döndürür.steps, difüzyon sürecinin ne kadar sürdüğünü kontrol eder (daha fazla adım daha yavaş ama genelde daha temiz sonuçlar),true_cfg_scaleise modelin komuta ne kadar sıkı uyduğunu ayarlar (daha yüksek değer daha iyi uyum demektir; ancak çok yükseltmek artefaktlara neden olabilir).Sırada
generate_image()işlevini bir Gradio arayüzüne gömerek kullanıcıların ham komut mühendisliği ile uğraşmadan poster üretmesini sağlamak var.Adım 5: Gradio UI
Son olarak, poster üretim motorunu bir Gradio arayüzüne sarıyoruz. Uygulama, kullanıcının ürün ayrıntılarını yazmasına, bir platform en-boy oranı seçmesine ve Oluştur’a basmasına olanak tanır.
Gradio uygulamasını şu şekilde kuruyoruz:
ASPECT_PRESETSkullanılarak doğrudan nihaigenişlik × yükseklikile eşleşir.stepsvetrue_cfg_scalegibi temel parametreleri içerir. Çekirdek/seed tekrarlanabilirliği kontrol eder veshow_seednihai çekirdeği isteğe bağlı olarak gösterir.btn.click()çağrısı her şeyi birbirine bağlar. Gradio, tüm giriş bileşenlerini sırayla alır, bunlarıgenerate_image()’e iletir ve döndürülen değerleri çıktı bileşenlerine yönlendirir. Son olarakdemo.launch(share=True, debug=True)Gradio sunucusunu başlatır, demolar için paylaşılabilir bir genel bağlantı verir ve sorunları teşhis etmeye yardımcı olması için not defterine hata ayıklama günlükleri yazdırır.Son uygulamamız olan Qwen Image 2512’nin çalışır hâlini gösteren bir video burada: