Transformers documentation

画像プロセッサ

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

画像プロセッサ

イメージプロセッサは、画像の読み込み(オプション)、ビジョンモデルへの入力特徴量の準備、および出力のポストプロセッシングを担当します。これには、リサイズ、正規化、PyTorch および Numpy テンソルへの変換などの変換が含まれます。また、logits をセグメンテーションマスクに変換するなどの、モデル固有のポストプロセッシングも含まれる場合があります。

Image processorはバックエンドベースのアーキテクチャを採用しています。クラス階層は以下の通りです。

  • BaseImageProcessor — 抽象基底クラス(後方互換性のためだけに存在します。直接インスタンス化しないでください)
    • TorchvisionBackend — デフォルトの torchvision ベースのバックエンドです。GPU によるアクセラレーションに対応しており、PIL バックエンドよりも大幅に高速です。すべてのモデルは、これを継承する <Model>ImageProcessor クラスを公開しています。
    • PilBackend — PIL/NumPy による代替バックエンド。ポータブルで、CPU のみ対応。旧モデルでは <Model>ImageProcessorPil クラスを通じてのみ利用可能であり、元の実装と厳密な数値的一致が必要な場合に有用です。

両方のバックエンドは同じAPIを公開しています。読み込まれたプロセッサがどのバックエンドを使用しているかを調べるには、backend属性を使用します(例: processor.backend == "torchvision")。

backend を AutoImageProcessor.from_pretrained() に渡してバックエンドを選択します。backend を省略した場合(デフォルト)、torchvision がインストールされていれば torchvision が選択され、そうでなければ PIL が使用されます。Lanczos 補間を使用する一部のモデル(Chameleon、Flava、Idefics3、SmolVLM)は例外であり、torchvision < 0.27 の場合はデフォルトで PIL が使用されます。これらのモデルに対して torchvision < 0.27 で backend="torchvision" を強制すると、torchvision は 0.27 以降で初めてテンソルに対する Lanczos 補間をサポートしたため、BICUBIC 補間にフォールバックします。

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 バックエンドを使用する場合、device 引数を設定して、処理を実行するデバイスを指定できます。デフォルトでは、入力がテンソルの場合は入力が存在するデバイス上で、それ以外の場合は CPU 上で処理が実行されます。

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モデルとRT-DETRモデルにおけるtorchvisionバックエンドとPILバックエンドの速度比較、およびそれらが全体推論時間に与える影響を以下に示します。

これらのベンチマークは、NVIDIA A10G Tensor Core GPU を利用した AWS EC2 g5.2xlarge インスタンス で実行されました。

ImageProcessingMixin

class transformers.ImageProcessingMixin

< >

( **kwargs )

これは、シーケンシャルおよび画像のフィーチャーエクストラクターに対して保存/読み込み機能を提供するために使用される画像プロセッサのミックスインです。

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 )

パラメータ

  • pretrained_model_name_or_path (str または os.PathLike) — 以下いずれかです:
    • 文字列、huggingface.co上のモデルリポジトリにホストされている事前学習済みimage_processorのmodel id。
    • a path to a directory containing a image processor file saved using the save_pretrained() method, e.g., ./my_model_directory/.
    • 保存された画像プロセッサの JSON ファイルへのパス。例: ./my_model_directory/preprocessor_config.json
  • cache_dir (str または os.PathLike、省略可) — 標準のキャッシュを使用しない場合、ダウンロードした事前学習済みモデルの画像プロセッサをキャッシュするディレクトリのパス。
  • force_download (bool、省略可、デフォルトは False) — イメージプロセッサのファイルを(再)ダウンロードを強制し、キャッシュされたバージョンが存在する場合にそれを上書きするかどうか。
  • proxies (dict[str, str]、省略可) — プロトコルまたはエンドポイントごとに使用するプロキシサーバーの辞書です。例: {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. 各リクエストでこれらのプロキシが使用されます。
  • token (str または bool、省略可) — リモートファイルの HTTP ベアラ認証に使用するトークンです。True の場合、または指定されていない場合は、hf auth login を実行した際に生成されたトークン(~/.huggingface に保存)が使用されます。
  • revision (str, 省略可, デフォルトは "main") — 使用する特定のモデルのバージョンです。huggingface.co ではモデルやその他の成果物を保存するために git ベースのシステムを使用しているため、ブランチ名、タグ名、またはコミット ID を指定できます。したがって、 revision には git で許可される任意の識別子を指定できます。

    Hubでプルリクエストを作成した場合、revision="refs/pr/<pr_number>"を渡すことでテストできます。

  • return_unused_kwargs (bool、省略可、デフォルトは False) — False の場合、この関数は最終的な image processor オブジェクトのみを返します。True の場合、この関数は Tuple(image_processor, unused_kwargs) を返します。ここで unused_kwargs は、キーが image processor の属性でないキー/値のペアで構成される辞書です。つまり、image_processor の更新に使用されず、それ以外は無視される kwargs の部分です。
  • subfolder (str、任意、デフォルトは "") — huggingface.co 上のモデルリポジトリのサブフォルダ内に該当するファイルが配置されている場合、ここにフォルダ名を指定できます。
  • kwargs (dict[str, Any], 省略可) — kwargs 内の、キーが image processor の属性である値は、読み込まれた値の上書きに使用されます。キーが image processor の属性でないキー/値ペアの動作は、return_unused_kwargs キーワード引数によって制御されます。

画像プロセッサからImageProcessingMixinの型をインスタンス化します。

例:

# 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 )

パラメータ

  • save_directory (str または os.PathLike) — 画像プロセッサの JSON ファイルを保存するディレクトリ(存在しない場合は作成されます)。
  • push_to_hub (bool、省略可、デフォルトは False) — モデルを保存した後、Hugging Face モデルハブにプッシュするかどうかを指定します。プッシュ先のリポジトリは repo_id で指定できます(指定しない場合、save_directory の名前があなたのネームスペース内でデフォルトとして使用されます)。
  • kwargs (dict[str, Any]、省略可) — push_to_hub() メソッドに渡される追加のキーワード引数。

画像プロセッサオブジェクトをディレクトリ save_directory に保存し、from_pretrained() クラスメソッドを使って再読み込みできるようにします。

BatchFeature

class 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 )

パラメータ

  • data (dict、省略可) — call/pad メソッドによって返されるリスト/配列/テンソルの辞書(‘input_values’、‘attention_mask’ など)。
  • tensor_type (Union[None, str, TensorType], 省略可) — tensor_type を指定すると、初期化時に PyTorch/Numpy の Tensor 内の整数リストを変換できます。
  • skip_tensor_conversion (list[str] または set[str]、任意) — tensor_type が指定されている場合でも、テンソルに変換すべきでないキーのリストまたはセット。

pad() およびフィーチャーエクストラクター固有の __call__ メソッドの出力を保持します。

このクラスはPythonの辞書から派生しており、辞書として使用できます。

convert_to_tensors

< >

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

パラメータ

  • tensor_type (str または TensorType、任意) — 使用するテンソルの型です。str の場合、TensorType の列挙型のいずれかの値である必要があります。None の場合、変更は行われません。
  • skip_tensor_conversion (list[str] または set[str]、任意) — tensor_type が指定されている場合でも、テンソルに変換すべきでないキーのリストまたはセット。

内部のコンテンツをテンソルに変換します。

Note: 配列のような構造を持たない値(文字列、辞書、文字列のリストなど)は自動的にスキップされ、テンソルに変換されません。ラガッド配列(長さが異なる配列のリスト)については変換が試みられますが、変換中にエラーが発生する可能性があります。

へ

< >

( *args**kwargs ) → BatchFeature

パラメータ

  • args (Tuple) — テンソルの to(...) 関数に渡されます。
  • kwargs (Dict, 任意) — テンソルの to(...) 関数に渡されます。 非同期データ転送を有効にするには、kwargs に non_blocking フラグを設定します(デフォルトは False)。

戻り値

BatchFeature

変更後の同じインスタンス。

v.to(*args, **kwargs) を呼び出して、すべての値をデバイスに送信します(PyTorch のみ)。これにより、異なる dtypes へのキャストや、BatchFeature を別の device へ送信することがサポートされるべきです。

BaseImageProcessor

class transformers.BaseImageProcessor

< >

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

継承ベースのバックエンドアーキテクチャを備えた画像プロセッサの基底クラス。

このクラスは前処理パイプラインを定義します: kwargs の検証、入力の準備、バックエンドの _preprocess メソッドへのディスパッチ。バックエンドのサブクラス (TorchvisionBackend、PilBackend) はこのクラスを継承し、実際の画像操作 (resize、crop、rescale、normalize など) を実装します。モデル固有の画像プロセッサは、適切なバックエンドクラスを継承します。

アーキテクチャ概要

クラス階層は以下の通りです:

BaseImageProcessor (このクラス) ├── TorchvisionBackend (GPU 加速、torch.Tensor) │ └── ModelImageProcessor (例: LlavaNextImageProcessor) └── PilBackend (ポータブルな CPU、np.ndarray) └── ModelImageProcessorPil (例: CLIPImageProcessorPil)

前処理の流れは以下の通りです:

call() → preprocess() → _preprocess_image_like_inputs() → _prepare_image_like_inputs() (各画像ごとに process_image を呼び出す) → _preprocess() (バッチ操作:リサイズ、クロップなど)

  • process_image: バックエンドによって実装されます。単一の生入力(PIL、NumPy、または Tensor)をバックエンドの作業形式(torch.Tensor または np.ndarray)に変換し、RGB 変換とチャネルの並べ替えを処理します。
  • _preprocess: バックエンドによって実装されます。実際のバッチ処理(リサイズ、センタークロップ、リスケール、正規化、パディング)を実行し、BatchFeatureを返します。

基本的な実装

標準的な操作(リサイズ、中央クロップ、リスケール、正規化)のみを必要とするプロセッサでは、バックエンドを継承し、クラス属性を定義します。

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

バックエンドの_preprocessメソッドが、標準的なパイプラインを自動的に処理します。

カスタム処理

カスタムロジックが必要なプロセッサ(例:パッチベースの処理、複数の入力タイプ)では、モデル固有のプロセッサで_preprocessをオーバーライドします。_preprocessメソッドは、すでに準備が整った画像(バックエンド形式に変換され、チャネル優先の順序に整えられたもの)を受け取り、実際の処理を実行します。

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

効率的なバッチ処理のために、形状ごとに画像をグループ化します

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})

複数の入力タイプ(画像 + セグメンテーションマップなど)を処理するプロセッサでは、_preprocess_image_like_inputs をオーバーライドします。

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

バックエンドの動作を拡張する

特定のバックエンドの操作をカスタマイズするには、そのバックエンドをサブクラス化して、メソッドをオーバーライドします。

from transformers.image_processing_backends import TorchvisionBackend, PilBackend

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

torchvision用のカスタムリサイズロジック

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

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

PIL用のカスタムリサイズロジック

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

カスタムパラメータ

ImagesKwargs 以外のパラメータを追加するには、カスタムの kwargs クラスを作成し、それを valid_kwargs に設定します。

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

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

重要な注意事項

  • バックエンドの選択はクラスレベルで行われます。TorchvisionBackend または PilBackend を継承します。
  • バックエンドは、画像をtorch.Tensor(Torchvision)またはnp.ndarray(PIL)として受け取り、常にチャネル優先の形式で扱います
  • …
  • ユーザーが指定しない引数は、クラス属性の値がデフォルトとして使用されます
  • Backend クラスは、バックエンド固有のロジック(リサイズ、正規化など)をカプセル化しており、オーバーライドできます

center_crop

< >

( image: ndarraysize: dict[str, int]data_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None**kwargs )

パラメータ

  • image (np.ndarray) — 中央クロップする画像。
  • size (dict[str, int]) — 出力画像のサイズ。
  • data_format (str または ChannelDimension, 省略可) — 出力画像のチャネル次元の形式です。設定されていない場合、入力画像のチャネル次元の形式が使用されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
  • input_data_format (ChannelDimension または str, 省略可) — 入力画像のチャネル次元の形式です。未設定の場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。

画像を(size["height"], size["width"])にセンタークロップします。入力サイズがcrop_sizeより小さい場合、画像は0でパディングされた後にセンタークロップされます。

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

パラメータ

  • image (np.ndarray) — 正規化対象の画像。
  • mean (float または Iterable[float]) — 正規化に使用する画像の平均値。
  • std (float または Iterable[float]) — 正規化に使用する画像の標準偏差。
  • data_format (str または ChannelDimension, 省略可) — 出力画像のチャネル次元の形式です。設定されていない場合、入力画像のチャネル次元の形式が使用されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
  • input_data_format (ChannelDimension または str, 省略可) — 入力画像のチャネル次元の形式です。未設定の場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。

戻り値

np.ndarray

正規化された画像。

画像を正規化します。image = (image - image_mean) / image_std

preprocess

< >

( 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

パラメータ

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — 前処理対象の画像です。ピクセル値が 0 から 255 の範囲にある単一の画像またはバッチを想定しています。ピクセル値が 0 から 1 の範囲にある画像を渡す場合は、do_rescale=False を設定してください。
  • image_like_kwargs (dict[str, Any], 省略可) — 追加の画像類似入力を前処理対象に含めるための開発者向けフラグです。引数として入力値を渡す方法が機能しない場合のみ使用してください。例えば、preprocess(images, masks=masks) が推奨される方法ですが、一部のモデルでは引数の優先順位の問題が発生します。そのような場合は、代わりに preprocess(images, image_like_inputs={"masks": masks}) を使用できます。
  • do_convert_rgb (bool、kwargs、任意) — 画像を RGB に変換するかどうかを指定します。
  • do_resize (bool、kwargs、optional) — 画像をリサイズするかどうか。
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — モデルへの最大入力次元を記述します。
  • default_to_square (bool、kwargs、任意) — サイズが整数の場合、リサイズ時に正方形の画像をデフォルトとするかどうか。
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop を適用した後の出力画像のサイズ。
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — 画像のリサイズ時に使用するリサンプリングフィルタ。PILImageResampling の列挙型のいずれかを使用できます。do_resize が True に設定されている場合のみ有効です。
  • do_rescale (bool、kwargs、optional) — 画像をリスケールするかどうかを指定します。
  • rescale_factor (float、kwargs、任意) — do_rescale が True に設定されている場合、画像をリスケールするための係数。
  • do_normalize (bool, kwargs, optional) — 画像を正規化するかどうかを指定します。
  • image_mean (Union[float, list[float], tuple[float, ...]]、kwargs、optional) — 正規化に使用する画像の平均値。do_normalize が True に設定されている場合のみ有効です。
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — 正規化に使用する画像の標準偏差。do_normalize が True に設定されている場合のみ有効です。
  • do_pad (bool, kwargs, optional) — 画像をパディングするかどうかを指定します。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。具体的なパディング戦略はモデルによって異なります。
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 画像をパディングする {"height": int, "width" int} のサイズです。前処理に提供されるすべての画像サイズより大きくなければなりません。pad_size が指定されない場合、バッチ内の最大の幅と高さにパディングされます。do_pad=True. の場合のみ適用されます。
  • do_center_crop (bool, kwargs, optional) — 画像を中央クロップするかどうかを指定します。
  • data_format (Union[str, ~image_utils.ChannelDimension]、kwargs、任意) — サポートされているのは ChannelDimension.FIRST のみです。slow processors との互換性のために追加されました。
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, 省略可) — 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
    • "none" または ChannelDimension.NONE: (height, width) 形式の画像。
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。

戻り値

~image_processing_base.BatchFeature

  • data (dict) — call メソッド(‘pixel_values’ など)によって返される、リスト/配列/テンソルの辞書。
  • tensor_type (Union[None, str, TensorType]、省略可) — 初期化時に PyTorch/Numpy の Tensor 内の整数リストを変換するために、ここで tensor_type を指定できます。

画像または画像のバッチを前処理します。

process_image

< >

( *args**kwargs )

単一の生画像をバックエンドの作業形式に変換します。

バックエンドのサブクラス(TorchvisionBackend、PilBackend)によって実装されます。生の入力(PIL Image、NumPy 配列、または torch Tensor)をバックエンドの内部形式(Torchvision の場合は torch.Tensor、PIL の場合は np.ndarray)に変換し、RGB 変換を処理して、チャネル優先の順序を保証します。

rescale

< >

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

パラメータ

  • image (np.ndarray) — リスケールする画像。
  • scale (float) — ピクセル値を再スケーリングするためのスケーリング係数。
  • data_format (str または ChannelDimension, 省略可) — 出力画像のチャネル次元の形式です。設定されていない場合、入力画像のチャネル次元の形式が使用されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
  • input_data_format (ChannelDimension または str, 省略可) — 入力画像のチャネル次元の形式です。未設定の場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。

戻り値

np.ndarray

リサイズされた画像。

スケール係数で画像をリサイズします。image = image * scale

TorchvisionBackend

class transformers.TorchvisionBackend

< >

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

GPU による高速化バッチ画像処理用の Torchvision バックエンド。

center_crop

< >

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

Torchvision を使用して画像を中央クロップします。

convert_to_rgb

< >

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

画像をRGB形式に変換します。

fetch_images

< >

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

単一のURL/パスまたはそのリストをtorch.Tensorオブジェクトに変換します。

すでに有効な画像オブジェクト(テンソル、NumPy配列、PIL Image)はそのまま渡されるため、事前に画像を読み込んでいる呼び出し元への影響はありません。

normalize

< >

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

Torchvisionを使用して画像を正規化します。

pad

< >

( images: list['torch.Tensor']pad_size: SizeDict = Nonefill_value: int | None = 0padding_mode: str | None = 'constant'return_mask: bool = Falsedisable_grouping: bool | None = Falseis_nested: bool | None = False**kwargs )

Torchvisionのバッチ処理を使用して画像をパディングします。

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 バックエンドで単一の画像を処理します。

rescale

< >

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

Torchvision を使用して、スケーリング係数によって画像をリサイズします。

rescale_and_normalize

< >

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

Torchvision を使用して画像をリサイズし正規化します(効率化のため融合されています)。

リサイズ

< >

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

Torchvision を使用して画像をリサイズします。

PilBackend

class transformers.PilBackend

< >

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

ポータブルなCPU専用の画像処理のためのPIL/NumPyバックエンド。

center_crop

< >

( image: ndarraysize: SizeDict**kwargs )

NumPyを使用して画像を中央クロップします。

convert_to_rgb

< >

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

画像をRGB形式に変換します。

normalize

< >

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

NumPy を使用して画像を正規化します。

pad

< >

( images: list[numpy.ndarray]pad_size: SizeDict = Nonefill_value: int | None = 0padding_mode: str | None = 'constant'return_mask: bool = False**kwargs )

NumPyを使用して、画像を指定されたサイズにパディングします。

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バックエンドで単一の画像を処理します。

rescale

< >

( image: ndarrayscale: float**kwargs )

NumPyを使用して、スケーリング係数で画像をリサイズします。

リサイズ

< >

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

PIL/NumPyを使用して画像をリサイズします。

Update on GitHub