Buckets:

mishig's picture
|
download
raw
15.9 kB

Apache Lisansı, 2.0 Sürümü ("Lisans") altında lisanslanmıştır;

bu dosyayı, Lisansa uygun olarak kullanabilirsiniz.

Lisansın bir kopyasını şu adresten edinebilirsiniz

http://www.apache.org/licenses/LICENSE-2.0

Uygulanabilir yasa gerektirmedikçe veya yazılı olarak anlaşılmadıkça, yazılım

Lisans kapsamında dağıtılan, "OLDUĞU GİBİ" esasına göre dağıtılır,

HİÇBİR TÜR AÇIK VEYA ZIMMİ GARANTİ VEYA ŞART İÇERMEZ.

İzinleri ve

lisans kapsamındaki kısıtlamalar. -->

PRX Pixel

PRXPixel, Photoroom tarafından geliştirilen piksel uzayında metinden görüntüye üretim modelidir. ~7B parametreli PRXTransformer2DModel, ham RGB görüntülerini doğrudan gürültüden arındırır — VAE gerekmez. Model, Qwen3-VL metin kodlayıcısıyla koşullandırılır ve akış eşleştirmesi (flow matching) kullanır; bu yöntemde dönüştürücü (transformer), her adımda temiz görüntüyü tahmin eder (x-prediction). Üretim çözünürlüğü, zaman adımı modülasyonuna (timestep modulation) aktarılır, böylece model hedef boyutun farkındadır.

Mevcut modeller

Model Çözüm Açıklama Önerilen parametreler Önerilen dtype
Photoroom/prxpixel-t2i 1024 Qwen3-VL metin kodlayıcılı, piksel uzayında ~7B model 28 adım, cfg=5.0 torch.bfloat16

Hattın yüklenmesi

PRXPixelPipeline, Qwen3VLTextModel'i tanıtan sürüm olan transformers >= 4.57 sürümünü gerektirir. from_pretrained() ile yükleyin:

import torch
from diffusers import PRXPixelPipeline

pipe = PRXPixelPipeline.from_pretrained("Photoroom/prxpixel-t2i", dtype=torch.bfloat16)
pipe.to("cuda")  # or "mps", "xpu", "cpu"

prompt = "A front-facing portrait of a lion in the golden savanna at sunset."
image = pipe(prompt, num_inference_steps=28, guidance_scale=5.0).images[0]
image.save("prxpixel_output.png")

Bellek Optimizasyonu

Bellek kısıtlamalı ortamlar için:

import torch
from diffusers import PRXPixelPipeline

pipe = PRXPixelPipeline.from_pretrained("Photoroom/prxpixel-t2i", dtype=torch.bfloat16)
pipe.enable_model_cpu_offload()

# Or use sequential CPU offload for even lower memory
pipe.enable_sequential_cpu_offload()

PRXPixelPipeline[[diffusers.PRXPixelPipeline]]

diffusers.PRXPixelPipeline[[diffusers.PRXPixelPipeline]]

diffusers.PRXPixelPipeline(transformer: PRXTransformer2DModel, scheduler: FlowMatchEulerDiscreteScheduler, text_encoder: PreTrainedModel, tokenizer: transformers.models.auto.tokenization_auto.AutoTokenizer | transformers.tokenization_utils_base.PreTrainedTokenizerBase, default_sample_size: int | None = 1024, prompt_max_tokens: int = 256, noise_scale: float = 2.0)

Kaynak

Parametreler:

transformer (PRXTransformer2DModel) : ~7B parametreli PRX gürültü azaltıcı. PRXPixel için bu model in_channels=3, bir darboğaz img_in ve resolution_embeds=True ile oluşturulur ve temiz görüntüyü x0 tahmin edecek şekilde eğitilir.

scheduler (FlowMatchEulerDiscreteScheduler) : (piksel uzayındaki) latentleri gürültüden arındırmak için kullanılan akış eşleştirme zamanlayıcısı.

text_encoder (PreTrainedModel) : İstemleri kodlamak için kullanılan Qwen3-VL metin omurgası (görüntü kulesi atılır). last_hidden_state döndürmelidir.

tokenizer (PreTrainedTokenizerBase) : text_encoder için tokenizer (genellikle AutoTokenizer üzerinden yüklenir).

default_sample_size (int, isteğe bağlı, varsayılan 1024) : __call__'e hiçbir değer sağlanmadığında kullanılan varsayılan yükseklik/genişlik.

prompt_max_tokens (int, isteğe bağlı, varsayılan 256) : Kodlamadan önce prompt'un doldurulacağı/kısaltılacağı metin token sayısı.

noise_scale (float, opsiyonel, varsayılan 2.0) : Başlangıç Gauss gürültüsüne uygulanan ölçek. PRXPixel, birim olmayan bir başlangıç gürültü ölçeğiyle eğitildiğinden, örneklemeye randn * noise_scale ile başlanmalıdır.

PRXPixel modeliyle metinden görüntüye üretim hattı.

PRXPixel, bağımsız bir piksel uzayı metinden görüntüye üretim hattıdır. Ham RGB verisini doğrudan ~7B parametreli PRXTransformer2DModel ile gürültüden arındırır ve VAE içermez (üretim tamamen piksel uzayında gerçekleştiği için gürültüsü arındırılmış çıktı görseldir). İfadeler, Qwen3-VL metin kodlayıcısıyla kodlanır (görüntü kulesi atılır). PRXPipeline'den farklı olarak, dönüştürücü x-prediction ile eğitilir: her adımda temiz görüntüyü x0 tahmin eder ve bu değer, zamanlayıcı adımı öncesinde akış eşleştirme hızına dönüştürülür. Örnekleme randn * noise_scale ile başlar (varsayılan noise_scale=2.0) ve varsayılan çözünürlük 1024px'tir.

Bu model DiffusionPipeline sınıfından devralır. Kütüphanenin tüm pipeline'lar için uyguladığı genel yöntemler (indirme veya kaydetme, belirli bir cihazda çalıştırma vb.) için üst sınıf belgelendirmesine bakın.

Örnekler:

>>> import torch
>>> from diffusers import PRXPixelPipeline

>>> pipe = PRXPixelPipeline.from_pretrained("Photoroom/prxpixel-t2i", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")

>>> prompt = "A front-facing portrait of a lion in the golden savanna at sunset."
>>> image = pipe(prompt, num_inference_steps=28, guidance_scale=5.0).images[0]
>>> image.save("prxpixel_output.png")

call[[diffusers.PRXPixelPipeline.call]]

__call__(prompt: str | list[str] = None, negative_prompt: str = '', height: int | None = None, width: int | None = None, num_inference_steps: int = 28, timesteps: list = None, guidance_scale: float = 4.0, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, prompt_attention_mask: typing.Optional[torch.BoolTensor] = None, negative_prompt_attention_mask: typing.Optional[torch.BoolTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, use_resolution_binning: bool = True, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'])

Kaynak

Parametreler:

prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine prompt_embeds geçirilmelidir.

negative_prompt (str, isteğe bağlı, varsayılan "") : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Yönlendirme kullanılmadığında yok sayılır (yani guidance_scale 1'den küçükse yok sayılır).

height (int, isteğe bağlı, varsayılan default_sample_size) : Üretilen görüntünün piksel cinsinden yüksekliği.

width (int, isteğe bağlı, varsayılan default_sample_size) : Üretilen görüntünün piksel cinsinden genişliği.

num_inference_steps (int, isteğe bağlı, varsayılan 28) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar.

timesteps (list[int], isteğe bağlı) : set_timesteps metodunda timesteps argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel zaman adımları. Tanımlanmamışsa, num_inference_steps geçirildiğinde varsayılan davranış kullanılacaktır. Azalan sırada olmalıdır.

guidance_scale (float, isteğe bağlı, varsayılan 4.0) : Classifier-Free Diffusion Guidance'de tanımlandığı gibi yönlendirme ölçeği. guidance_scale, Imagen Paper'deki 2. denklemindeki w olarak tanımlanır. Yönlendirme ölçeği, guidance_scale > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, prompt ile yakından ilişkili görüntülerin üretilmesini teşvik eder.

num_images_per_prompt (int, isteğe bağlı, varsayılan 1) : Her istem için üretilecek görsel sayısı.

generator (torch.Generator veya list[torch.Generator], isteğe bağlı) : Üretimi deterministik hale getirmek için bir veya torch üreteci(leri) listesi.

latents (torch.Tensor, isteğe bağlı) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele generator kullanılarak örneklem yoluyla bir latent tensörü oluşturulur.

prompt_embeds (torch.FloatTensor, isteğe bağlı) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri prompt girdi argümanından oluşturulur.

negative_prompt_embeds (torch.FloatTensor, isteğe bağlı) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa ve guidance_scale > 1 ise, negatif gömme değerleri boş bir diziden oluşturulur.

prompt_attention_mask (torch.BoolTensor, isteğe bağlı) : prompt_embeds için önceden oluşturulmuş dikkat maskesi. Sağlanmazsa, dikkat maskesi prompt girdi argümanından oluşturulur.

negative_prompt_attention_mask (torch.BoolTensor, isteğe bağlı) : negative_prompt_embeds için önceden oluşturulmuş dikkat maskesi. Sağlanmaz ve guidance_scale > 1 ise, dikkat maskesi boş bir diziden oluşturulur.

output_type (str, isteğe bağlı, varsayılan "pil") : Üretilen görüntünün çıktı biçimi. PIL: PIL.Image.Image veya np.array arasında seçim yapın.

return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine PRXPipelineOutput döndürülüp döndürülmemesi.

use_resolution_binning (bool, isteğe bağlı, varsayılan True) : True olarak ayarlanırsa, istenen yükseklik ve genişlik, önceden tanımlı en-boy oranı sınıfları kullanılarak en yakın çözünürlüklere eşlenir. Üretilen latentler görüntülere çözümlendikten sonra, istenen çözünürlüğe yeniden boyutlandırılır. Optimal çözünürlüklerde kare olmayan görüntüler oluşturmak için faydalıdır.

callback_on_step_end (Callable, isteğe bağlı) : Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır: callback_on_step_end(self, step, timestep, callback_kwargs). callback_kwargs, callback_on_step_end_tensor_inputs tarafından belirtilen tüm tensörlerin listesini içerir.

callback_on_step_end_tensor_inputs (list, isteğe bağlı) : callback_on_step_end fonksiyonu için girdi tensörlerinin listesi. Listede belirtilen tensörler, callback_kwargs argümanı olarak geçirilir. Yalnızca ._callback_tensor_inputs özniteliğinde listelenen tensörleri dahil edebilirsiniz.

Dönüş: PRXPipelineOutput veya tuple

return_dict True ise PRXPipelineOutput, aksi halde bir `tuple döner. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir.

Üretim için pipeline çağrıldığında tetiklenen işlev.

Örnekler:

>>> import torch
>>> from diffusers import PRXPixelPipeline

>>> pipe = PRXPixelPipeline.from_pretrained("Photoroom/prxpixel-t2i", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")

>>> prompt = "A front-facing portrait of a lion in the golden savanna at sunset."
>>> image = pipe(prompt, num_inference_steps=28, guidance_scale=5.0).images[0]
>>> image.save("prxpixel_output.png")

check_inputs[[diffusers.PRXPixelPipeline.check_inputs]]

check_inputs(prompt: str | list[str], height: int, width: int, guidance_scale: float, callback_on_step_end_tensor_inputs: list[str] | None = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None)

Kaynak

Tüm girdilerin doğru formatta olduğunu kontrol edin.

encode_prompt[[diffusers.PRXPixelPipeline.encode_prompt]]

encode_prompt(prompt: str | list[str], device: typing.Optional[torch.device] = None, do_classifier_free_guidance: bool = True, negative_prompt: str = '', num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, prompt_attention_mask: typing.Optional[torch.BoolTensor] = None, negative_prompt_attention_mask: typing.Optional[torch.BoolTensor] = None, tokenizer_max_length: int | None = None, skip_text_cleaning: bool = False)

Kaynak

Standart metin kodlayıcı ve belirteçleyiciyi kullanarak metin komutunu kodlayın veya önceden hesaplanmış gömme değerlerini kullanın.

prepare_latents[[diffusers.PRXPixelPipeline.prepare_latents]]

prepare_latents(batch_size: int, num_channels_latents: int, height: int, width: int, dtype: dtype, device: device, generator: typing.Optional[torch.Generator] = None, latents: typing.Optional[torch.Tensor] = None)

Kaynak

Difüzyon süreci için başlangıç latenslerini hazırlar.

PRXPixel, birim olmayan bir başlangıç gürültü ölçeğiyle eğitilir; bu nedenle örneklenen gürültü self.config.noise_scale ile çarpılır.

PRXPipelineOutput[[diffusers.pipelines.prx.PRXPipelineOutput]]

diffusers.pipelines.prx.PRXPipelineOutput[[diffusers.pipelines.prx.PRXPipelineOutput]]

diffusers.pipelines.prx.PRXPipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray)

Kaynak

Parametreler:

images (list[PIL.Image.Image] veya np.ndarray) : batch_size uzunluğunda gürültüsü azaltılmış PIL görselleri listesi veya (batch_size, height, width, num_channels) biçiminde numpy dizisi. PIL görselleri veya numpy dizisi, difüzyon hattının gürültüsü azaltılmış görsellerini temsil eder.

PRX hatları için çıktı sınıfı.

Xet Storage Details

Size:
15.9 kB
·
Xet hash:
35a299cd47b37640a0b8c848549fa5423d1a6b448c9d7c729bc83d0f9332198e

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.