Buckets:
| # Ovis-Image | |
|  | |
| Ovis-Image, yüksek kaliteli metin işleme için özellikle optimize edilmiş, sıkı hesaplama kısıtlamaları altında verimli bir şekilde çalışacak şekilde tasarlanmış 7B metinden görüntüye modelidir. | |
| Alibaba Group'tan Guo-Hua Wang, Liangfu Cao, Tianyu Cui, Minghao Fu, Xiaohao Chen, Pengxin Zhan, Jianshan Zhao, Lan Li, Bowen Fu, Jiaqi Liu, Qing-Guo Chen tarafından hazırlanan [Ovis-Image Technical Report](https://arxiv.org/abs/2511.22982). | |
| Makalenin özeti şudur: | |
| *Ovis-Image'ı tanıtıyoruz; yüksek kaliteli metin işleme için özellikle optimize edilmiş, sıkı hesaplama kısıtları altında verimli bir şekilde çalışacak şekilde tasarlanmış 7B metinden görüntüye model. Önceki Ovis-U1 çerçevemizin üzerine inşa edilen Ovis-Image, difüzyon tabanlı bir görsel çözücü ile daha güçlü Ovis 2.5 çok modlu omurgasını birleştiriyor; büyük ölçekli ön eğitimi, dikkatle ayarlanmış eğitim sonrası iyileştirmelerle birleştiren metin odaklı bir eğitim hattı kullanıyor. Kompakt mimarisine rağmen Ovis-Image, Qwen-Image gibi çok daha büyük açık modellerle eşdeğer metin işleme performansı elde ediyor ve Seedream ile GPT4o gibi kapalı kaynak sistemlere yaklaşıyor. Önemli olan, modelin orta düzey belleğe sahip tek bir üst düzey GPU üzerinde dağıtılabilir kalması ve bu sayede sınır düzey metin işleme ile pratik dağıtım arasındaki farkı kapatmasıdır. Sonuçlarımız, aşırı boyutlu veya mülkiyetli modellere başvurmadan güvenilir iki dilli metin işleme elde etmek için güçlü bir çok modlu omurganın, dikkatle tasarlanmış metin odaklı bir eğitim tarifiyle birleştirilmesinin yeterli olduğunu göstermektedir.* | |
| **Vurgular**: | |
| * **7B ölçeğinde güçlü metin renderleme**: Ovis-Image, metin renderleme kalitesi Qwen-Image gibi çok daha büyük 20B sınıfı sistemlerle karşılaştırılabilir ve metin ağırlıklı senaryolarda GPT4o gibi önde gelen kapalı kaynak modellerle rekabet edebilirken, yaygın olarak erişilebilir donanımlarda çalışacak kadar küçük olan 7B metinden görüntüye bir modeldir. | |
| * **Metin ağırlıklı, yerleşime duyarlı istemlerde yüksek sadakat**: Model, dil içeriği ile oluşturulan tipografi arasında sıkı bir hizalama gerektiren istemlerde (ör. afişler, pankartlar, logolar, UI maketleri, infografikler) üstün performans gösterir; çeşitli yazı tipleri, boyutlar ve en-boy oranlarında okunabilir, doğru yazılmış ve anlamsal olarak tutarlı metinler üretirken genel görsel kaliteden ödün vermez. | |
| * **Etkinlik ve dağıtılabilirlik**: 7B parametre bütçesi ve sadeleştirilmiş mimarisi sayesinde Ovis-Image, orta düzey belleğe sahip tek bir üst düzey GPU üzerinde çalışabilir, düşük gecikmeli etkileşimli kullanımı destekler ve toplu üretim sunumuna ölçeklenebilir; böylece on milyarlarca parametreli modellerin uygulanabilir olmadığı uygulamalarda neredeyse sınır düzeyinde metin işleme yeteneğini sunar. | |
| Bu pipeline, Ovis-Image Team tarafından katkıda bulunmuştur. Orijinal kod tabanı [burada](https://github.com/AIDC-AI/Ovis-Image) bulunabilir. | |
| Mevcut modeller: | |
| | Model | Önerilen dtype | | |
| |:-----:|:-----------------:| | |
| | [`AIDC-AI/Ovis-Image-7B`](https://huggingface.co/AIDC-AI/Ovis-Image-7B) | `torch.bfloat16` | | |
| Daha fazla bilgi için [bu](https://huggingface.co/collections/AIDC-AI/ovis-image) koleksiyona başvurun. | |
| ## OvisImagePipeline[[diffusers.OvisImagePipeline]] | |
| #### diffusers.OvisImagePipeline[[diffusers.OvisImagePipeline]] | |
| ```python | |
| diffusers.OvisImagePipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKL, text_encoder: Qwen3Model, tokenizer: Qwen2Tokenizer, transformer: OvisImageTransformer2DModel) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/ovis_image/pipeline_ovis_image.py#L129) | |
| **Parametreler:** | |
| transformer ([OvisImageTransformer2DModel](/docs/diffusers/main/tr/api/models/ovisimage_transformer2d#diffusers.OvisImageTransformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. | |
| vae ([AutoencoderKL](/docs/diffusers/main/tr/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Görüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. | |
| text_encoder (`Qwen3Model`) : [Qwen3Model](https://huggingface.co/docs/transformers/en/model_doc/qwen3#transformers.Qwen3Model) sınıfının metin kodlayıcısı. | |
| tokenizer (`Qwen2TokenizerFast`) : [Qwen2TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2TokenizerFast) sınıfının tokenizer'ı. | |
| Metinden görüntüye üretim için Ovis-Image hattı. | |
| Referans: https://github.com/AIDC-AI/Ovis-Image | |
| #### __call__[[diffusers.OvisImagePipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, negative_prompt: str | list[str] = '', guidance_scale: float = 5.0, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, joint_attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 256) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/ovis_image/pipeline_ovis_image.py#L457) | |
| **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` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den büyük olmadığında) yok sayılır. | |
| guidance_scale (`float`, *isteğe bağlı*, varsayılan 1.0) : `guidance_scale` > 1 olduğunda ve `negative_prompt` sağlandığında True, sınıflandırıcıdan bağımsız yönlendirme (yönlendirme ölçeği) etkinleştirilir. | |
| height (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| width (`int`, *isteğe bağlı*, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. | |
| num_inference_steps (`int`, *isteğe bağlı*, varsayılan 50) : 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. | |
| sigmas (`list[float]`, *isteğe bağlı*) : `set_timesteps` metodunda `sigmas` argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, `num_inference_steps` geçirildiğinde varsayılan davranış kullanılacaktır. | |
| 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)](https://pytorch.org/docs/stable/generated/torch.Generator.html) listesi. | |
| latents (`torch.FloatTensor`, *isteğe bağlı*) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenmiş önceden oluşturulmuş gürültülü latensler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele `generator` kullanılarak örneklemeye dayalı bir latens 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ı*) : Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur. | |
| output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen görüntünün çıktı biçimi. [PIL](https://pillow.readthedocs.io/en/stable/): `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 `~pipelines.flux.FluxPipelineOutput` döndürülecek mi? | |
| joint_attention_kwargs (`dict`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içinde `self.processor` altında tanımlanan `AttentionProcessor`'a iletilen bir kwargs sözlüğü. | |
| 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: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `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`, *optional*) : The list of tensor inputs for the `callback_on_step_end` function. The tensors specified in the list will be passed as `callback_kwargs` argument. You will only be able to include variables listed in the `._callback_tensor_inputs` attribute of your pipeline class. | |
| max_sequence_length (`int` varsayılanı 512) : `prompt` ile kullanılacak maksimum dizi uzunluğu. | |
| **Dönüş:** [OvisImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/ovis_image#diffusers.pipelines.ovis_image.OvisImagePipelineOutput) veya `tuple` | |
| `return_dict` True ise [OvisImagePipelineOutput](/docs/diffusers/main/tr/api/pipelines/ovis_image#diffusers.pipelines.ovis_image.OvisImagePipelineOutput), aksi halde `tuple`. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir. | |
| Üretim için pipeline çağrıldığında tetiklenen işlev. | |
| Örnekler: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import OvisImagePipeline | |
| >>> pipe = OvisImagePipeline.from_pretrained("AIDC-AI/Ovis-Image-7B", torch_dtype=torch.bfloat16) | |
| >>> pipe.to("cuda") | |
| >>> prompt = 'A creative 3D artistic render where the text "OVIS-IMAGE" is written in a bold, expressive handwritten brush style using thick, wet oil paint. The paint is a mix of vibrant rainbow colors (red, blue, yellow) swirling together like toothpaste or impasto art. You can see the ridges of the brush bristles and the glossy, wet texture of the paint. The background is a clean artist's canvas. Dynamic lighting creates soft shadows behind the floating paint strokes. Colorful, expressive, tactile texture, 4k detail.' | |
| >>> image = pipe(prompt, negative_prompt="", num_inference_steps=50, guidance_scale=5.0).images[0] | |
| >>> image.save("ovis_image.png") | |
| ``` | |
| #### encode_prompt[[diffusers.OvisImagePipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], negative_prompt: str | list[str] | None = None, do_classifier_free_guidance: bool = True, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, max_sequence_length: int = 256, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/ovis_image/pipeline_ovis_image.py#L269) | |
| **Parametreler:** | |
| prompt (`str` veya `list[str]`, *isteğe bağlı*) : kodlanacak istem | |
| negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Yalnızca `do_classifier_free_guidance` `True` olduğunda kullanılır. Tanımlanmamışsa boş bir dize kullanılır. | |
| do_classifier_free_guidance (`bool`, *isteğe bağlı*, varsayılan `True`) : Sınıflandırıcı-ücretsiz yönlendirme için `negative_prompt`'un da kodlanıp kodlanmayacağını belirtir. | |
| device : (`torch.device`): torch cihazı | |
| num_images_per_prompt (`int`) : her istem için oluşturulacak görsel sayısı | |
| max_sequence_length (`int`, *isteğe bağlı*, varsayılan 256) : `prompt` için kullanılacak maksimum dizi uzunluğu. | |
| 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ı*) : Önceden oluşturulmuş negatif metin gömme değerleri. Sağlanmazsa, `negative_prompt` üzerinden oluşturulurlar. | |
| ## OvisImagePipelineOutput[[diffusers.pipelines.ovis_image.OvisImagePipelineOutput]] | |
| #### diffusers.pipelines.ovis_image.OvisImagePipelineOutput[[diffusers.pipelines.ovis_image.OvisImagePipelineOutput]] | |
| ```python | |
| diffusers.pipelines.ovis_image.OvisImagePipelineOutput(images: list) | |
| ``` | |
| [Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/ovis_image/pipeline_output.py#L24) | |
| **Parametreler:** | |
| images (`list[PIL.Image.Image]` veya `np.ndarray`) : Uzunluğu `batch_size` olan gürültüsü azaltılmış PIL görselleri listesi veya `(batch_size, height, width, num_channels)` biçiminde bir numpy dizisi. PIL görselleri veya numpy dizisi, difüzyon hattının gürültüsü azaltılmış görsellerini temsil eder. | |
| Ovis-Image pipeline'leri için çıktı sınıfı. | |
Xet Storage Details
- Size:
- 14.8 kB
- Xet hash:
- 12846837dd62fe5f242ca8e7c5f6e7eb269b563619cc41e689152b789006515b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.