Transformers documentation

Görsel işleyici

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Görsel işleyici

Bir görüntü işleyici, görüntüleri yüklemekten (isteğe bağlı olarak), görme modelleri için giriş özelliklerini hazırlamaktan ve çıktıların son işlemlerini yapmaktan sorumludur. Bu, yeniden boyutlandırma, normalizasyon ve PyTorch ile Numpy tensörlerine dönüştürme gibi dönüşümleri içerir. Ayrıca, logitleri segmentasyon maskelerine dönüştürme gibi modele özgü son işlemleri de içerebilir.

Görüntü işleyiciler, bir arka uç tabanlı mimari kullanır. Sınıf hiyerarşisi şudur:

  • BaseImageProcessor — soyut temel sınıf (yalnızca geriye dönük uyumluluk için; doğrudan örneklemeyin)
    • TorchvisionBackend — varsayılan torchvision destekli arka uç. GPU hızlandırmalıdır ve PIL arka ucundan önemli ölçüde daha hızlıdır. Tüm modeller, bu sınıftan türeyen bir <Model>ImageProcessor sınıfı sunar.
    • PilBackend — PIL/NumPy tabanlı alternatif arka uç. Taşınabilir, yalnızca CPU destekli. Yalnızca eski modeller için <Model>ImageProcessorPil sınıfı üzerinden kullanılabilir; orijinal uygulama ile tam sayısal uyumluluk gerektiğinde faydalıdır.

Her iki arka uç da aynı API'yi sunar. Yüklenmiş bir işleyicinin hangi arka ucu kullandığını incelemek için backend özniteliğini kullanın (ör. processor.backend == "torchvision").

backend parametresini AutoImageProcessor.from_pretrained() fonksiyonuna geçirerek bir backend seçebilirsiniz. backend belirtilmediğinde (varsayılan durum), yüklüyse torchvision seçilir, aksi halde PIL kullanılır. Lanczos interpolasyonu kullanan bazı modeller (Chameleon, Flava, Idefics3, SmolVLM) bir istisnadır ve torchvision < 0.27 olduğunda varsayılan olarak PIL kullanırlar. Bu modeller için torchvision < 0.27 üzerinde backend="torchvision" zorlanırsa, torchvision'un tensörler için Lanczos desteğini yalnızca 0.27 sürümünden itibaren sunması nedeniyle BICUBIC interpolasyonuna geri düşülür.

from transformers import AutoImageProcessor

# Default: picks torchvision if available, otherwise pil
processor = AutoImageProcessor.from_pretrained("facebook/detr-resnet-50")

# Explicitly request torchvision
processor = AutoImageProcessor.from_pretrained("facebook/detr-resnet-50", backend="torchvision")

# Explicitly request PIL
processor = AutoImageProcessor.from_pretrained("facebook/detr-resnet-50", backend="pil")

torchvision arka ucunu kullanırken, işlemenin hangi cihazda yapılacağını belirtmek için device argümanını ayarlayabilirsiniz. Varsayılan olarak, girdiler tensörlerse işleme girdilerle aynı cihazda, aksi halde CPU üzerinde yapılır.

import torch
from torchvision.io import read_image
from transformers import DetrImageProcessor

device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"

images = read_image("image.jpg")
processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50")
images_processed = processor(images, return_tensors="pt", device=device)

DETR ve RT-DETR modelleri için torchvision ve PIL arka uçları arasındaki bazı hız karşılaştırmaları ve bunların genel çıkarım süresine etkileri:

Bu kıyaslamalar, NVIDIA A10G Tensor Core GPU kullanan bir AWS EC2 g5.2xlarge örneği üzerinde çalıştırıldı.

ImageProcessingMixin

sınıf transformers.ImageProcessingMixin

< >

( **kwargs )

Bu, ardışık ve görüntü özellik çıkarıcıları için kaydetme/yükleme işlevselliği sağlamak için kullanılan bir görüntü işleyici karışımıdır (mixin).

from_pretrained

< >

( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs )

Parametreler

  • pretrained_model_name_or_path (str veya os.PathLike) — Bunlardan biri olabilir:
    • bir dize, huggingface.co'daki bir model deposunda barındırılan ön eğitilmiş bir image_processor'ın model kimliği.
    • save_pretrained() yöntemiyle kaydedilmiş bir görüntü işleyici dosyası içeren bir dizin yoluna, örneğin ./my_model_directory/.
    • kaydedilmiş bir görüntü işleyici JSON dosyasına giden bir yol, örneğin ./my_model_directory/preprocessor_config.json.
  • cache_dir (str veya os.PathLike, isteğe bağlı) — Standart önbellek kullanılmayacaksa, indirilen önceden eğitilmiş model görüntü işleyicisinin önbelleğe alınacağı dizinin yolu.
  • force_download (bool, isteğe bağlı, varsayılan False) — Görsel işleyici dosyalarının indirilmesini (yeniden) zorlayıp mevcut ise önbellekteki sürümleri geçersiz kılıp kılmayacağı.
  • proxies (dict[str, str], isteğe bağlı) — Protokole veya uç noktaya göre kullanılacak vekil sunucuların sözlüğü, örn. {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Vekiller her istekte kullanılır.
  • token (str veya bool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. True ise veya belirtilmezse, hf auth login çalıştırıldığında oluşturulan jeton ( ~/.huggingface içinde saklanır) kullanılır.
  • revision (str, isteğe bağlı, varsayılan "main") — Kullanılacak belirli model sürümü. huggingface.co üzerinde modelleri ve diğer artefaktları depolamak için git tabanlı bir sistem kullandığımız için bir dal adı, etiket adı veya commit kimliği olabilir; bu nedenle revision, git tarafından izin verilen herhangi bir tanımlayıcı olabilir.

Bir görüntü işleyicisinden ImageProcessingMixin türünün bir örneğini oluşturun.

Örnekler:

# We can't instantiate directly the base class *ImageProcessingMixin* so let's show the examples on a
# derived class: *CLIPImageProcessor*
image_processor = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32"
)  # Download image_processing_config from huggingface.co and cache.
image_processor = CLIPImageProcessor.from_pretrained(
    "./test/saved_model/"
)  # E.g. image processor (or model) was saved using *save_pretrained('./test/saved_model/')*
image_processor = CLIPImageProcessor.from_pretrained("./test/saved_model/preprocessor_config.json")
image_processor = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32", do_normalize=False, foo=False
)
assert image_processor.do_normalize is False
image_processor, unused_kwargs = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32", do_normalize=False, foo=False, return_unused_kwargs=True
)
assert image_processor.do_normalize is False
assert unused_kwargs == {"foo": False}

save_pretrained

< >

( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )

Parametreler

  • save_directory (str veya os.PathLike) — Görsel işleyici JSON dosyasının kaydedileceği dizin (varsa oluşturulur).
  • push_to_hub (bool, isteğe bağlı, varsayılan False) — Modelinizi kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyu repo_id ile belirtebilirsiniz (varsayılan olarak ad alanınızdaki save_directory adını kullanır).
  • kwargs (dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.

Bir görüntü işleyici nesnesini, from_pretrained() sınıf yöntemiyle yeniden yüklenebilmesi için save_directory dizinine kaydedin.

BatchFeature

sınıf transformers.BatchFeature

< >

( data: dict[str, typing.Any] | None = Nonetensor_type: None | str | transformers.utils.generic.TensorType = Noneskip_tensor_conversion: list[str] | set[str] | None = None )

Parametreler

  • data (dict, isteğe bağlı) — call/pad yöntemleri tarafından döndürülen listelerin/dizilerin/tensörlerin sözlüğü (‘input_values’, ‘attention_mask’, vb.).
  • tensor_type (Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.
  • skip_tensor_conversion (list[str] veya set[str], isteğe bağlı) — tensor_type belirtilse bile tensöre dönüştürülmemesi gereken anahtarların listesi veya kümesi.

pad() ve özellik çıkarıcıya özgü __call__ yöntemlerinin çıktısını tutar.

Bu sınıf bir python sözlüğünden türetilmiştir ve bir sözlük olarak kullanılabilir.

convert_to_tensors

< >

( tensor_type: str | transformers.utils.generic.TensorType | None = Noneskip_tensor_conversion: list[str] | set[str] | None = None )

Parametreler

  • tensor_type (str veya TensorType, isteğe bağlı) — Kullanılacak tensörlerin türü. str ise, TensorType enum'undaki değerlerden biri olmalıdır. None ise, herhangi bir değişiklik yapılmaz.
  • skip_tensor_conversion (list[str] veya set[str], isteğe bağlı) — tensor_type belirtilse bile tensöre dönüştürülmemesi gereken anahtarların listesi veya kümesi.

İçeriği tensörlere dönüştürün.

Not: Dizi benzeri bir yapıya sahip olmayan değerler (ör. dizeler, sözlükler, dizi listeleri) otomatik olarak atlanır ve tensörlere dönüştürülmez. Düzensiz diziler (farklı uzunluklara sahip dizi listeleri) yine de denemeye çalışılır, ancak dönüştürme sırasında hatalar oluşturabilirler.

'a

< >

( *args**kwargs ) → BatchFeature

Parametreler

  • args (Tuple) — Tensor'ların to(...) fonksiyonuna iletilecektir.
  • kwargs (Dict, isteğe bağlı) — Tensörlerin to(...) fonksiyonuna aktarılacaktır. Asenkron veri aktarımını etkinleştirmek için kwargs içinde non_blocking bayrağını ayarlayın (varsayılan False).

Dönüş değeri

BatchFeature

Değişiklikten sonra aynı örnek.

Tüm değerleri v.to(*args, **kwargs) çağrısını yaparak cihaza gönderin (yalnızca PyTorch). Bu, farklı dtypes için dönüştürmeyi ve BatchFeature nesnesini farklı bir device adresine göndermeyi desteklemelidir.

BaseImageProcessor

sınıf transformers.BaseImageProcessor

< >

( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

Kalıtım tabanlı bir arka uç mimarisine sahip görüntü işleyicileri için temel sınıf.

Bu sınıf, ön işleme hattını tanımlar: kwargs doğrulama, girdi hazırlama ve backend’in _preprocess yöntemine yönlendirme. Backend alt sınıfları (TorchvisionBackend, PilBackend) bu sınıftan devralır ve gerçek görüntü işlemlerini (yeniden boyutlandırma, kırpma, yeniden ölçekleme, normalizasyon vb.) uygular. Model-özel görüntü işleyicileri ise uygun backend sınıfından devralır.

Mimari Genel Bakış

Sınıf hiyerarşisi şudur:

BaseImageProcessor (bu sınıf) ├── TorchvisionBackend (GPU hızlandırmalı, torch.Tensor) │ └── ModelImageProcessor (ör. LlavaNextImageProcessor) └── PilBackend (taşınabilir CPU, np.ndarray) └── ModelImageProcessorPil (ör. CLIPImageProcessorPil)

Ön işleme akışı şudur:

call() → preprocess() → _preprocess_image_like_inputs() → _prepare_image_like_inputs() (görüntü başına process_image çağrısı) → _preprocess() (toplu işlemler: yeniden boyutlandırma, kırpma vb.)

  • process_image: Arka uçlar tarafından uygulanır. Tek bir ham girdiyi (PIL, NumPy veya Tensor) arka ucun çalışma biçimine (torch.Tensor veya np.ndarray) dönüştürür, RGB dönüşümünü ve kanal yeniden sıralamasını yönetir.
  • _preprocess: Arka uçlar tarafından uygulanır. Gerçek parti işleme işlemlerini (boyutlandırma, merkezden kırpma, yeniden ölçekleme, normalizasyon, dolgu) gerçekleştirir ve bir BatchFeature döndürür.

Temel Uygulama

Sadece standart işlemlere (boyutlandırma, merkezden kırpma, yeniden ölçekleme, normalizasyon) ihtiyaç duyan işlemciler için bir arka uçtan (backend) devralın ve sınıf özniteliklerini tanımlayın:

from transformers.image_processing_backends import PilBackend

class MyImageProcessorPil(PilBackend): resample = PILImageResampling.BILINEAR image_mean = IMAGENET_DEFAULT_MEAN image_std = IMAGENET_DEFAULT_STD size = {“height”: 224, “width”: 224} do_resize = True do_rescale = True do_normalize = True

Arka uç _preprocess yöntemi standart hattı otomatik olarak işler.

Özel İşleme

Özel mantık gerektiren işlemciler için (ör. yama tabanlı işleme, birden fazla giriş türü) modelinize özgü işlemcinizde _preprocess metodunu geçersiz kılın. _preprocess metodu, zaten hazırlanmış görüntüleri (kanal-öncelikli sıralamaya sahip backend biçimine dönüştürülmüş) alır ve gerçek işlemleri gerçekleştirir:

class MyImageProcessor(TorchvisionBackend): def _preprocess(self, images, do_resize, size, do_normalize, image_mean, image_std, **kwargs):

Verimli toplu işlemler için görüntüleri şekle göre gruplayın

grouped_images, grouped_images_index = group_images_by_shape(images) processed_groups = {} for shape, stacked_images in grouped_images.items(): if do_resize: stacked_images = self.resize(stacked_images, size=size) if do_normalize: stacked_images = self.normalize(stacked_images, mean=image_mean, std=image_std) processed_groups[shape] = stacked_images processed_images = reorder_images(processed_groups, grouped_images_index) return BatchFeature(data={“pixel_values”: processed_images})

Birden fazla giriş türünü (ör. görüntüler + segmentasyon haritaları) işleyen işlemciler için _preprocess_image_like_inputs metodunu geçersiz kılın:

def _preprocess_image_like_inputs( self, images: ImageInput, segmentation_maps: ImageInput | None = None, kwargs, ) -> BatchFeature: images = self._prepare_image_like_inputs(images,kwargs) batch_feature = self._preprocess(images, **kwargs)

if segmentation_maps is not None: maps = self._prepare_image_like_inputs(segmentation_maps, kwargs) batch_feature[“labels”] = self._preprocess(maps,kwargs).pixel_values

return batch_feature

Arka Uç Davranışını Genişletme

Belirli bir arka uç için işlemleri özelleştirmek için arka ucu alt sınıflandırın ve yöntemlerini geçersiz kılın:

from transformers.image_processing_backends import TorchvisionBackend, PilBackend

class MyTorchvisionProcessor(TorchvisionBackend): def resize(self, image, size, **kwargs):

torchvision için özel yeniden boyutlandırma mantığı

return super().resize(image, size, **kwargs)

class MyPilProcessor(PilBackend): def resize(self, image, size, **kwargs):

PIL için özel yeniden boyutlandırma mantığı

return super().resize(image, size, **kwargs)

Özel Parametreler

ImagesKwargs dışında parametreler eklemek için özel bir kwargs sınıfı oluşturun ve bunu valid_kwargs olarak ayarlayın:

class MyImageProcessorKwargs(ImagesKwargs): custom_param: int | None = None

class MyImageProcessor(TorchvisionBackend): valid_kwargs = MyImageProcessorKwargs custom_param = 10 # default value

Önemli Notlar

  • Arka uç seçimi sınıf düzeyinde yapılır: TorchvisionBackend veya PilBackend sınıflarından birini devralın.
  • Arka uçlar, görüntüleri torch.Tensor (Torchvision) veya np.ndarray (PIL) olarak, her zaman kanal-öncelikli alır
  • Tüm görüntüler, arka uçtan bağımsız olarak işleme sırasında kanal boyutunu en başta tutar
  • Kullanıcılar tarafından sağlanmayan argümanlar, sınıf öznitelik değerlerine varsayılan olarak ayarlanır
  • Backend sınıfları, backend'e özgü mantığı (yeniden boyutlandırma, normalizasyon vb.) kapsar ve yeniden yazılabilir

center_crop

< >

( image: ndarraysize: dictdata_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs )

Parametreler

  • image (np.ndarray) — Ortadan kırpılacak görüntü.
  • size (dict[str, int]) — Çıktı görüntüsünün boyutu.
  • data_format (str veya ChannelDimension, isteğe bağlı) — Çıktı görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, girdi görüntüsünün kanal boyutu biçimi kullanılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
  • input_data_format (ChannelDimension veya str, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.

Bir görüntüyü (size["height"], size["width"]) boyutuna merkezden kırpın. Girdi boyutu herhangi bir kenar boyunca crop_size değerinden küçükse, görüntü önce 0'larla doldurulur ve ardından merkezden kırpılır.

normalize

< >

( image: ndarraymean: float | collections.abc.Iterable[float]std: float | collections.abc.Iterable[float]data_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs ) → np.ndarray

Parametreler

  • image (np.ndarray) — Normalizasyon yapılacak görüntü.
  • mean (float veya Iterable[float]) — Normalizasyon için kullanılacak görüntü ortalaması.
  • std (float veya Iterable[float]) — Normalizasyon için kullanılacak görüntü standart sapması.
  • data_format (str veya ChannelDimension, isteğe bağlı) — Çıktı görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, girdi görüntüsünün kanal boyutu biçimi kullanılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
  • input_data_format (ChannelDimension veya str, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.

Dönüş değeri

np.ndarray

Normalleştirilmiş görüntü.

Bir görüntüyü normalize edin. image = (image - image_mean) / image_std.

ön işleme

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]*argsimage_like_kwargs: dict[str, typing.Any] | None = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> ) → ~image_processing_base.BatchFeature

Parametreler

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Ön işleme uygulanacak görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa do_rescale=False olarak ayarlayın.
  • image_like_kwargs (dict[str, Any], isteğe bağlı) — Ayrıca ön işleme yapılacak ek görüntü benzeri girdiler için geliştirici bayrağı. Girdileri kwarg olarak geçirmek işe yaramadığında yalnızca bu bayrağı kullanın. Örneğin, preprocess(images, masks=masks) tercih edilen seçenektir ancak bazı modellerde argüman öncelik sorunlarına yol açar. Bu durumlarda bunun yerine preprocess(images, image_like_inputs={"masks": masks}) kullanılabilir.
  • do_convert_rgb (bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi.
  • do_resize (bool, kwargs, opsiyonel) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, opsiyonel) — Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntüye geçilip geçilmeyeceği.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop uygulandıktan sonra çıktı görüntüsünün boyutu.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, PILImageResampling enum değerlerinden biri olabilir. Yalnızca do_resize True olarak ayarlanırsa etkilidir.
  • do_rescale (bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği.
  • rescale_factor (float, kwargs, opsiyonel) — do_rescale True olarak ayarlanırsa görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.
  • do_normalize (bool, kwargs, opsiyonel) — Görselin normalize edilip edilmeyeceği.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca do_normalize True olarak ayarlanmışsa etkilidir.
  • do_pad (bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut, {"height": int, "width" int} biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. pad_size sağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca do_pad=True. olduğunda uygulanır.
  • do_center_crop (bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Yalnızca ChannelDimension.FIRST desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
    • "none" veya ChannelDimension.NONE: (height, width) biçiminde görüntü.
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür.
  • disable_grouping (bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.

Dönüş değeri

~image_processing_base.BatchFeature

  • data (dict) — call yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü (‘pixel_values’ vb.).
  • tensor_type (Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.

Bir görüntüyü veya bir görüntü grubunu ön işleme tabi tutun.

process_image

< >

( *args**kwargs )

Tek bir ham görüntüyü, arka planın çalışma biçimine dönüştürün.

Arka uç alt sınıfları (TorchvisionBackend, PilBackend) tarafından uygulanır. Ham bir girdiyi (PIL Image, NumPy dizisi veya torch Tensor) arka ucun dahili biçimine (torch.Tensor Torchvision için, np.ndarray PIL için) dönüştürür, RGB dönüşümünü işler ve kanallar-önce sıralamasını sağlar.

yeniden ölçekle

< >

( image: ndarrayscale: floatdata_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs ) → np.ndarray

Parametreler

  • image (np.ndarray) — Yeniden ölçeklendirilecek görüntü.
  • scale (float) — Piksel değerlerini yeniden ölçeklemek için kullanılan ölçekleme faktörü.
  • data_format (str veya ChannelDimension, isteğe bağlı) — Çıktı görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, girdi görüntüsünün kanal boyutu biçimi kullanılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
  • input_data_format (ChannelDimension veya str, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.

Dönüş değeri

np.ndarray

Yeniden ölçeklendirilmiş görüntü.

Bir ölçekleme faktörü ile bir görüntüyü yeniden ölçekler. image = image * scale.

TorchvisionBackend

sınıf transformers.TorchvisionBackend

< >

( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

GPU hızlandırmalı toplu görüntü işleme için Torchvision arka ucu.

center_crop

< >

( image: torch.Tensorsize: SizeDict**kwargs )

Torchvision kullanarak bir görüntünün merkezini kırpın.

convert_to_rgb

< >

( image: torch.Tensorinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )

Bir görüntüyü RGB biçimine dönüştürür.

fetch_images

< >

( image_url_or_urls: str | list[str] | list[list[str]] )

Tek bir URL / yol veya bir URL / yol listesini torch.Tensor nesnelerine dönüştürür.

Zaten geçerli olan görüntü nesneleri (tensörler, numpy dizileri, PIL görüntüleri) değiştirilmeden olduğu gibi geçirilir, böylece görüntüleri önceden yükleyen çağrıcılar etkilenmez.

normalize

< >

( image: torch.Tensormean: float | collections.abc.Iterable[float]std: float | collections.abc.Iterable[float]inplace: bool = False**kwargs )

Bir görüntüyü Torchvision kullanarak normalize edin.

pad

< >

( images: listpad_size: SizeDict = Nonefill_value: int | None = 0padding_mode: str | None = 'constant'return_mask: bool = Falsedisable_grouping: bool | None = Falseis_nested: bool | None = False**kwargs )

Görselleri Torchvision ile toplu işlemler kullanarak doldurun.

process_image

< >

( image: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]do_convert_rgb: bool | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = Nonedevice: typing.Optional[ForwardRef('torch.device')] = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

torchvision arka ucu için tek bir görüntü işleyin.

yeniden ölçekle

< >

( image: torch.Tensorscale: float**kwargs )

Torchvision kullanarak bir görüntüyü ölçekleme faktörü ile yeniden ölçekleyin.

rescale_and_normalize

< >

( images: torch.Tensordo_rescale: boolrescale_factor: floatdo_normalize: boolimage_mean: float | list[float]image_std: float | list[float] )

Görselleri Torchvision kullanarak yeniden ölçekleyin ve normalize edin (verimlilik için birleştirilmiş).

boyutlandır

< >

( image: torch.Tensorsize: SizeDictresample: PILImageResampling | tvF.InterpolationMode | int | None = Noneantialias: bool = True**kwargs )

Bir görüntüyü Torchvision kullanarak yeniden boyutlandırın.

PilBackend

sınıf transformers.PilBackend

< >

( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

Taşınabilir, yalnızca CPU tabanlı görüntü işleme için PIL/NumPy arka ucu.

center_crop

< >

( image: ndarraysize: SizeDict**kwargs )

Bir görüntüyü NumPy kullanarak merkezden kırpın.

convert_to_rgb

< >

( image: ndarrayinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )

Bir görüntüyü RGB biçimine dönüştürür.

normalize

< >

( image: ndarraymean: float | collections.abc.Iterable[float]std: float | collections.abc.Iterable[float]**kwargs )

Bir görüntüyü NumPy kullanarak normalize edin.

pad

< >

( images: listpad_size: SizeDict = Nonefill_value: int | None = 0padding_mode: str | None = 'constant'return_mask: bool = False**kwargs )

Görselleri NumPy kullanarak belirtilen boyuta doldurun.

process_image

< >

( image: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]do_convert_rgb: bool | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

PIL arka ucu için tek bir görüntü işleyin.

yeniden ölçekle

< >

( image: ndarrayscale: float**kwargs )

NumPy kullanarak bir görüntüyü ölçekleme faktörü ile yeniden ölçekleyin.

boyutlandır

< >

( image: ndarraysize: SizeDictresample: PILImageResampling | None = Nonereducing_gap: int | None = None**kwargs )

Bir görüntüyü PIL/NumPy kullanarak yeniden boyutlandırın.

Update on GitHub