Buckets:
Krea 2
Krea 2 (K2), gruplu sorgu dikkati (grouped-query attention) içeren tek akışlı bir MMDiT etrafında inşa edilmiş, akış eşleştirmeli (flow-matching) metinden görüntüye bir modeldir. Koşullandırmayı (conditioning) bir Qwen3-VL metin kodlayıcı sağlar: son gizli durum (hidden state) yerine, her token için on iki decoder katmanından gizli durumlar alınır ve bunlar, transformer içinde küçük bir metin füzyon aşamasıyla birleştirilir. Görüntüler, Qwen-Image VAE ile çözümlenir.
İki checkpoint yayınlanmıştır; aynı mimariyi paylaşır ancak farklı önerilen örnekleyici ayarlarına sahiptir:
- Temel (orta eğitim) — sınıflandırıcıdan bağımsız yönlendirme ile tam örnekleyiciyi kullanın:
num_inference_steps=28,guidance_scale=4.5. - TDM (damıtılmış) — az adımlı örneklemeye damıtılmıştır,
num_inference_steps=8ile ve yönlendirme devre dışı bırakılarak (guidance_scale=0.0) çalıştırılır.
guidance_scale, Krea 2 sözleşmesini izler: hız, cond + guidance_scale * (cond - uncond) olarak hesaplanır ve guidance_scale > 0 olduğunda yönlendirme etkinleştirilir (bu, 1 + guidance_scale ölçeğine sahip standart CFG formülasyonuna eşittir).
Metinden görüntüye
import torch
from diffusers import Krea2Pipeline
# Load from a local directory produced by the Krea 2 conversion (no hub repo yet).
pipe = Krea2Pipeline.from_pretrained("krea/Krea-2-Raw", dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
prompt = "a fox in the snow"
image = pipe(
prompt,
height=1024,
width=1024,
num_inference_steps=28,
guidance_scale=4.5,
generator=torch.Generator("cuda").manual_seed(0),
).images[0]
image.save("krea2.png")
Ayrıca Krea2 Turbo kullanımı için bir örnek sunuyoruz:
import torch
from diffusers import Krea2Pipeline
pipe = Krea2Pipeline.from_pretrained("krea/Krea-2-Turbo", dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
image = pipe(
"a fox in the snow",
height=1024,
width=1024,
num_inference_steps=8,
guidance_scale=0.0,
generator=torch.Generator("cuda").manual_seed(0),
).images[0]
image.save("krea2_turbo.png")
Tek dosyalık denetim noktalarını yükleme
import torch
from diffusers import Krea2Pipeline, Krea2Transformer2DModel
transformer = Krea2Transformer2DModel.from_single_file(
"https://huggingface.co/krea/Krea-2-Turbo/blob/main/turbo.safetensors", dtype=torch.bfloat16
)
pipe = Krea2Pipeline.from_pretrained("krea/Krea-2-Turbo", transformer=transformer, dtype=torch.bfloat16).to("cuda")
Krea2Pipeline[[diffusers.Krea2Pipeline]]
diffusers.Krea2Pipeline[[diffusers.Krea2Pipeline]]
diffusers.Krea2Pipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLQwenImage, text_encoder: Qwen3VLModel, tokenizer: AutoTokenizer, transformer: Krea2Transformer2DModel, text_encoder_select_layers: tuple[int, ...] | list[int] | None = None, is_distilled: bool = False, patch_size: int = 2)
Parametreler:
scheduler (FlowMatchEulerDiscreteScheduler) : Euler akış eşleştirme zamanlayıcısı. Krea 2 sigma zamanlaması, çözünürlük farkında üstel zaman kaymasıdır; bu nedenle zamanlayıcı yapılandırmasının use_dynamic_shifting=True değerini Krea 2 kaydırma parametreleriyle (base_shift=0.5, max_shift=1.15, base_image_seq_len=256, max_image_seq_len=6400) birlikte ayarlaması beklenir.
vae (AutoencoderKLQwenImage) : Latentleri görüntülere çözmek için kullanılan Qwen-Image varyasyonel oto-kodlayıcı (f8, 16 latent kanal).
text_encoder (PreTrainedModel) : Bir Qwen3-VL modeli (ör. Qwen/Qwen3-VL-4B-Instruct'in Qwen3VLModel'i). Pipeline, son gizli durum yerine birkaç decoder katmanından alınan gizli durum yığınınu tüketir.
tokenizer (AutoTokenizer) : Metin kodlayıcıyla eşleştirilen belirteç ayrıştırıcı.
transformer (Krea2Transformer2DModel) : Akış eşleştirme hızını tahmin eden Krea 2 tek akışlı MMDiT.
text_encoder_select_layers (tuple[int, ...], isteğe bağlı) : Metin kodlayıcısının hidden_states demetindeki (0, gömme çıktısıdır) durumları, transformer'ın metin koşullandırması olarak token başına yığılan indeksler. transformer.config.num_text_layers girişine sahip olmalıdır.
is_distilled (bool, isteğe bağlı, varsayılan False) : Transformer'ın az adımlı damıtılmış (TDM/turbo) kontrol noktası olup olmadığı. True ise sabit zaman adımı kayması mu=1.15 kullanılır; aksi halde mu görüntü çözünürlüğünden hesaplanır.
patch_size (int, opsiyonel, varsayılan 2) : Latentlerin transformer'a girmeden önce paketlenmek için kullanıldığı kare yamaların kenar uzunluğu. Etkili piksel-bağlam (token) indirgeme çarpanı vae_scale_factor * patch_size'dir.
Metinden görüntüye üretim için Krea 2 hattı.
call[[diffusers.Krea2Pipeline.call]]
__call__(prompt: str | list[str] | None = None, negative_prompt: str | list[str] | None = None, height: int = 1024, width: int = 1024, num_inference_steps: int = 28, sigmas: list[float] | None = None, guidance_scale: float = 4.5, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_embeds_mask: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_mask: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, callback_on_step_end: typing.Optional[typing.Callable[[int, int, dict], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], attention_kwargs: dict[str, typing.Any] | None = None, max_sequence_length: int = 512)
Parametreler:
prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa prompt_embeds parametresinin geçirilmesi gerekir.
negative_prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. guidance_scale <= 0 olduğunda yok sayılır; yönlendirme etkin olduğunda varsayılan olarak boş bir istem kullanılır.
height (int, varsayılan 1024) : Üretilen görüntünün piksel cinsinden yüksekliği. Gerekirse 16'nın katına yuvarlanır.
width (int, varsayılan 1024) : Üretilen görüntünün piksel cinsinden genişliği. Gerekirse 16'nın katına yuvarlanır.
num_inference_steps (int, varsayılan 28) : Gürültü azaltma adım sayısı. Taban (midtrain) kontrol noktası için 28, az adım distile edilmiş (TDM) kontrol noktası için 8 kullanın.
sigmas (list[float], isteğe bağlı) : Zamanlayıcı için özel sigmalar. Tanımlanmamışsa, varsayılan linspace(1.0, 1/num_inference_steps, num_inference_steps) ızgarası kullanılır (çözünürlük duyarlı kaydırma, zamanlayıcının içinde uygulanır).
guidance_scale (float, varsayılan 4.5) : Krea 2 sözleşmesine uygun olarak sınıfsız yönlendirme ölçeği: hız, cond + guidance_scale * (cond - uncond) olarak hesaplanır ve guidance_scale > 0 olduğunda yönlendirme etkinleştirilir (bu, 1 + guidance_scale ölçeğine sahip standart CFG formülasyonuna eşittir). Devre dışı bırakmak için 0.0 olarak ayarlayın (ör. TDM kontrol noktası için).
num_images_per_prompt (int, varsayılan 1) : Her istem için oluşturulacak görsel sayısı.
generator (torch.Generator veya list[torch.Generator], isteğe bağlı) : Üretimi deterministik hale getirmek için bir veya daha fazla torch üreteci.
latents (torch.Tensor, isteğe bağlı) : (batch_size, image_seq_len, in_channels) biçiminde, Gauss dağılımından örneklenmiş, paketli formda önceden oluşturulmuş gürültülü latentler; görüntü üretimi için girdi olarak kullanılacaktır.
prompt_embeds (torch.Tensor, isteğe bağlı) : (batch_size, text_seq_len, num_text_layers, text_hidden_dim) biçiminde önceden oluşturulmuş metin gömme değerleri. Sağlanmazsa, gömme değerleri prompt üzerinden üretilir.
prompt_embeds_mask (torch.Tensor, isteğe bağlı) : prompt_embeds için Boolean maskesi; prompt_embeds iletildiğinde zorunludur.
negative_prompt_embeds (torch.Tensor, isteğe bağlı) : Önceden oluşturulmuş negatif metin gömme değerleri; prompt_embeds ile aynı yerleşime sahiptir.
negative_prompt_embeds_mask (torch.Tensor, isteğe bağlı) : negative_prompt_embeds için Boolean maskesi; negative_prompt_embeds iletildiğinde zorunludur.
output_type (str, isteğe bağlı, varsayılan "pil") : Üretilen görüntünün çıktı biçimi. "pil", "np", "pt" veya "latent" arasında seçim yapın.
return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine Krea2PipelineOutput döndürülüp döndürülmemesi.
callback_on_step_end (Callable, isteğe bağlı) : Her gürültü azaltma adımının sonunda callback_on_step_end(self, step, timestep, callback_kwargs) ile çağrılan bir işlev.
callback_on_step_end_tensor_inputs (list[str], isteğe bağlı, varsayılan ["latents"]) : callback_on_step_end işlevi için girdi gerginlikleri listesi. ._callback_tensor_inputs'in bir alt kümesi olmalıdır.
attention_kwargs (dict, isteğe bağlı) : Belirtilirse, diffusers.models.attention_processor içinde self.processor altında tanımlanan AttentionProcessor'a iletilen bir kwargs sözlüğü.
max_sequence_length (int, varsayılan 512) : Transformer tarafından tüketilen sabit metin dizisi uzunluğu; istekler bu uzunluğa göre dolgu yapılır veya kırpılır.
Dönüş: Krea2PipelineOutput veya tuple
return_dict True ise Krea2PipelineOutput, aksi halde ilk öğesi üretilen görsellerin listesini içeren bir tuple.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers import Krea2Pipeline
>>> # Load from a local directory produced by the Krea 2 conversion (no hub repo yet).
>>> pipe = Krea2Pipeline.from_pretrained("path/to/krea2-diffusers", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "a fox in the snow"
>>> # Base (midtrain) checkpoint defaults. For the few-step distilled (TDM) checkpoint use
>>> # `num_inference_steps=8, guidance_scale=0.0` instead.
>>> image = pipe(prompt, num_inference_steps=28, guidance_scale=4.5).images[0]
>>> image.save("krea2.png")
encode_prompt[[diffusers.Krea2Pipeline.encode_prompt]]
encode_prompt(prompt: str | list[str], device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_embeds_mask: typing.Optional[torch.Tensor] = None, max_sequence_length: int = 512)
Parametreler:
prompt (str veya list[str], isteğe bağlı) : kodlanacak istem
device : (torch.device): torch cihazı
num_images_per_prompt (int) : her istem için oluşturulacak görsel sayısı
prompt_embeds (torch.Tensor, isteğe bağlı) : (batch_size, text_seq_len, num_text_layers, text_hidden_dim) biçiminde önceden 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.
prompt_embeds_mask (torch.Tensor, isteğe bağlı) : Geçerli metin jetonlarını işaretleyen, (batch_size, text_seq_len) biçiminde önceden oluşturulmuş bir mantıksal maske. prompt_embeds iletildiğinde gereklidir.
max_sequence_length (int, varsayılan 512) : Transformer tarafından tüketilen sabit metin dizisi uzunluğu; istekler bu uzunluğa göre dolgu yapılır veya kırpılır.
get_text_hidden_states[[diffusers.Krea2Pipeline.get_text_hidden_states]]
get_text_hidden_states(prompt: str | list[str], max_sequence_length: int = 512, device: typing.Optional[torch.device] = None)
prompt’u sabit uzunluklu Krea 2 yerleşimine göre belirteçlere ayırın ve seçilen kodlayıcı gizli durumlarını alın.
(hidden_states, attention_mask) biçiminde, (batch_size, text_seq_len, num_text_layers, text_hidden_dim) ve (batch_size, text_seq_len) (bool) boyutlarında bir demet döndürür.
prepare_position_ids[[diffusers.Krea2Pipeline.prepare_position_ids]]
prepare_position_ids(text_seq_len: int, grid_height: int, grid_width: int, device: device)
Birleşik dizi için (text_seq_len + grid_height * grid_width, 3) boyutlu döner koordinatları oluşturun: metin jetonları orijinde yer alırken, görüntü jetonları (0, h, w) gizli ızgara koordinatlarını taşır.
Krea2PipelineOutput[[diffusers.pipelines.krea2.Krea2PipelineOutput]]
diffusers.pipelines.krea2.Krea2PipelineOutput[[diffusers.pipelines.krea2.Krea2PipelineOutput]]
diffusers.pipelines.krea2.Krea2PipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray)
Parametreler:
images (list[PIL.Image.Image] veya np.ndarray) : Uzunluğu batch_size olan gürültüsü azaltılmış PIL görüntülerinin listesi veya (batch_size, height, width, num_channels) biçiminde bir numpy dizisi.
Krea 2 hattı için çıktı sınıfı.
Modüler
Krea 2 ayrıca modüler bir pipeline olarak da kullanılabilir. Classifier-free guidance, guidance_scale çağrı argümanı yerine guider bileşeni üzerinden yapılandırılır. Krea 2, use_original_formulation=True parametresiyle ClassifierFreeGuidance olan cond-anchored CFG kullanır.
import torch
from diffusers import ClassifierFreeGuidance, ModularPipeline
pipe = ModularPipeline.from_pretrained("krea/Krea-2-Raw")
pipe.load_components(dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
image = pipe(
prompt="a fox in the snow",
height=1024,
width=1024,
num_inference_steps=28,
generator=torch.Generator("cuda").manual_seed(0),
).images[0]
image.save("krea2.png")
Ayrıca Krea2 Turbo kullanımı için bir örnek sunuyoruz. Distilled checkpoint, kendi blok setine (Krea2TurboAutoBlocks) eşlenir: rehberlik olmadan (no guider) çalışır, negatif prompt almaz ve birkaç adımda örnekler. ModularPipeline.from_pretrained, checkpoint'in is_distilled yapılandırmasından turbo bloklarını otomatik olarak seçer, bu nedenle rehberlik yapılandırmasına gerek yoktur:
import torch
from diffusers import ModularPipeline
pipe = ModularPipeline.from_pretrained("krea/Krea-2-Turbo")
pipe.load_components(dtype=torch.bfloat16)
pipe.to("cuda") # or "mps", "xpu", "cpu"
image = pipe(
prompt="a fox in the snow",
height=1024,
width=1024,
num_inference_steps=8,
generator=torch.Generator("cuda").manual_seed(0),
).images[0]
image.save("krea2_turbo.png")
Krea2ModularPipeline[[diffusers.Krea2ModularPipeline]]
diffusers.Krea2ModularPipeline[[diffusers.Krea2ModularPipeline]]
diffusers.Krea2ModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs)
Krea 2 için bir ModularPipeline.
Krea2AutoBlocks[[diffusers.Krea2AutoBlocks]]
diffusers.Krea2AutoBlocks[[diffusers.Krea2AutoBlocks]]
diffusers.Krea2AutoBlocks()
Krea 2 kullanılarak metinden görüntüye üretim için otomatik modüler pipeline: metni kodla -> çekirdek gürültü azaltma (simetrik CFG) -> çöz.
Desteklenen iş akışları:
text2image:promptgerektirir
Bileşenler: text_encoder (Qwen3VLModel): Qwen3-VL metin kodlayıcısı. tokenizer (AutoTokenizer): Metin kodlayıcıyla eşleştirilen belirteçleştirici. guider (ClassifierFreeGuidance) transformer (Krea2Transformer2DModel) scheduler (FlowMatchEulerDiscreteScheduler) vae (AutoencoderKLQwenImage) image_processor (VaeImageProcessor)
Girdiler: prompt (str): Görsel üretimi yönlendirmek için istem veya istemler. negative_prompt (str, isteğe bağlı): CFG için negatif istem(ler). max_sequence_length (int, isteğe bağlı, varsayılan 512): İstem kodlaması için maksimum dizi uzunluğu. num_images_per_prompt (int, isteğe bağlı, varsayılan 1): İstem başına üretilecek görsel sayısı. latents (Tensor, isteğe bağlı): Görsel üretimi için önceden oluşturulmuş gürültülü latensler. height (int, isteğe bağlı, varsayılan 1024): Üretilen görselin piksel cinsinden yüksekliği. width (int, isteğe bağlı, varsayılan 1024): Üretilen görselin piksel cinsinden genişliği. generator (Generator, isteğe bağlı): Belirleyici üretim için Torch üreteci. num_inference_steps (int, isteğe bağlı, varsayılan 28): Gürültü azaltma adım sayısı. sigmas (list, isteğe bağlı): Özel sigma zamanlaması (varsayılan olarak doğrusal bir eğim). attention_kwargs (dict, isteğe bağlı): Dikkat işlemcileri için ek kwargs. output_type (str, isteğe bağlı, varsayılan pil): Çıktı biçimi: 'pil', 'np', 'pt'.
Çıktılar: görüntüler (list): Oluşturulan görüntüler.
Krea2TurboModularPipeline[[diffusers.Krea2TurboModularPipeline]]
diffusers.Krea2TurboModularPipeline[[diffusers.Krea2TurboModularPipeline]]
diffusers.Krea2TurboModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs)
Distilled Krea 2 turbo (TDM) checkpoint için bir ModularPipeline. Sınıflandırıcı-ücretsiz yönlendirme (classifier-free guidance) olmadan çalıştığı için negatif prompt almaz ve bir yönlendirici (guider) içermez.
Krea2TurboAutoBlocks[[diffusers.Krea2TurboAutoBlocks]]
diffusers.Krea2TurboAutoBlocks[[diffusers.Krea2TurboAutoBlocks]]
diffusers.Krea2TurboAutoBlocks()
Distilled Krea 2 turbo checkpoint kullanılarak metinden görüntüye üretim için Auto Modular pipeline: metni kodla -> çekirdek gürültü azaltma (yönlendirmesiz) -> çöz.
Desteklenen iş akışları:
text2image:promptgerektirir
Bileşenler: text_encoder (Qwen3VLModel): Qwen3-VL metin kodlayıcısı. tokenizer (AutoTokenizer): Metin kodlayıcıyla eşleştirilen belirteçleştirici. transformer (Krea2Transformer2DModel) scheduler (FlowMatchEulerDiscreteScheduler) vae (AutoencoderKLQwenImage) image_processor (VaeImageProcessor)
Girdiler: prompt (str): Görsel üretimi yönlendirmek için istem veya istemler. max_sequence_length (int, isteğe bağlı, varsayılan 512): İstem kodlaması için maksimum dizi uzunluğu. num_images_per_prompt (int, isteğe bağlı, varsayılan 1): Her istem için üretilecek görsel sayısı. latents (Tensor, isteğe bağlı): Görsel üretimi için önceden oluşturulmuş gürültülü latensler. height (int, isteğe bağlı, varsayılan 1024): Üretilen görselin piksel cinsinden yüksekliği. width (int, isteğe bağlı, varsayılan 1024): Üretilen görselin piksel cinsinden genişliği. generator (Generator, isteğe bağlı): Belirleyici üretim için Torch üreteci. num_inference_steps (int, isteğe bağlı, varsayılan 8): Gürültü azaltma adım sayısı. sigmas (list, isteğe bağlı): Özel sigma zamanlaması (varsayılan olarak doğrusal bir eğim). attention_kwargs (dict, isteğe bağlı): Dikkat işlemcileri için ek kwargs. output_type (str, isteğe bağlı, varsayılan pil): Çıktı biçimi: 'pil', 'np', 'pt'.
Çıktılar: görüntüler (list): Oluşturulan görüntüler.
Xet Storage Details
- Size:
- 22.8 kB
- Xet hash:
- 9452b14ebaeec6f2fd151d06a768adaca4fa11726e257bbd18c3c32c3b4746ff
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.