Transformers documentation
特徴量抽出器
特徴量抽出器
フィーチャーエクストラクターは、オーディオモデルの入力フィーチャーの準備を担当します。これには、シーケンスからのフィーチャー抽出(Log-Mel Spectrogram フィーチャーを生成するためにオーディオファイルを前処理することなど)や、NumPy および PyTorch テンソルへの変換が含まれます。
FeatureExtractionMixin
これは、シーケンシャルおよびオーディオのフィーチャーエクストラクターに対して保存/読み込み機能を提供するために使用されるフィーチャー抽出ミックスインです。
from_pretrained
< source >( 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上のモデルリポジトリにホストされている事前学習済みfeature_extractorのmodel id
- save_pretrained()メソッドを使用して保存されたフィーチャーエクストラクターファイルを含むディレクトリへのパス。例:
./my_model_directory/ - 保存されたフィーチャーエクストラクターの
./my_model_directory/preprocessor_config.jsonのようなファイルへのパス
- cache_dir (
strまたはos.PathLike、省略可) — 標準のキャッシュを使用しない場合、ダウンロードした事前学習済みモデルのフィーチャーエクストラクターをキャッシュするディレクトリのパス。 - force_download (
bool、任意、デフォルトはFalse) — feature extractor のファイルを(再)ダウンロードを強制し、キャッシュされたバージョンが存在する場合にそれを上書きするかどうかを指定します。 - 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の場合、この関数は最終的な feature extractor オブジェクトのみを返します。Trueの場合、この関数はTuple(feature_extractor, unused_kwargs)を返します。ここで unused_kwargs は、キーが feature extractor の属性でないキー/値のペアで構成される辞書です。つまり、feature_extractorの更新に使用されず、それ以外は無視されるkwargsの部分です。 - kwargs (
dict[str, Any], 任意) — kwargs 内の、feature extractor の属性であるキーの値は、読み込まれた値の上書きに使用されます。キーが feature extractor の属性でないキー/値ペアの動作は、return_unused_kwargsキーワード引数によって制御されます。
フィーチャーエクストラクター、例えばSequenceFeatureExtractorの派生クラスなどから、FeatureExtractionMixinの型をインスタンス化します。
例:
# We can't instantiate directly the base class *FeatureExtractionMixin* nor *SequenceFeatureExtractor* so let's show the examples on a
# derived class: *Wav2Vec2FeatureExtractor*
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
"facebook/wav2vec2-base-960h"
) # Download feature_extraction_config from huggingface.co and cache.
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
"./test/saved_model/"
) # E.g. feature_extractor (or model) was saved using *save_pretrained('./test/saved_model/')*
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained("./test/saved_model/preprocessor_config.json")
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
"facebook/wav2vec2-base-960h", return_attention_mask=False, foo=False
)
assert feature_extractor.return_attention_mask is False
feature_extractor, unused_kwargs = Wav2Vec2FeatureExtractor.from_pretrained(
"facebook/wav2vec2-base-960h", return_attention_mask=False, foo=False, return_unused_kwargs=True
)
assert feature_extractor.return_attention_mask is False
assert unused_kwargs == {"foo": False}save_pretrained
< source >( 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() クラスメソッドで再読み込みできるように、feature_extractor オブジェクトを保存します。
SequenceFeatureExtractor
class transformers.SequenceFeatureExtractor
< source >( feature_size: intsampling_rate: intpadding_value: float**kwargs )
これは音声認識向けの一般的な特徴抽出クラスです。
pad
< source >( processed_features: transformers.feature_extraction_utils.BatchFeature | list[transformers.feature_extraction_utils.BatchFeature] | dict[str, transformers.feature_extraction_utils.BatchFeature] | dict[str, list[transformers.feature_extraction_utils.BatchFeature]] | list[dict[str, transformers.feature_extraction_utils.BatchFeature]]padding: bool | str | transformers.utils.generic.PaddingStrategy = Truemax_length: int | None = Nonetruncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_attention_mask: bool | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = None )
パラメータ
- processed_features (BatchFeature, のリスト BatchFeature,
dict[str, list[float]],dict[str, list[list[float]]またはlist[dict[str, list[float]]]) — 処理済みの入力。1つの入力(BatchFeature またはdict[str, list[float]]) )または、入力値/ベクトルのバッチ( BatchFeature, dict[str, list[list[float]]] または list[dict[str, list[float]]]) そのため、このメソッドは前処理時だけでなく、PyTorch の Dataloader の collate 関数でも使用できます。list[float]の代わりに、テンソル(NumPy 配列または PyTorch テンソル)を指定できます。戻り型については、上記の注記を参照してください。 - padding (
bool,strまたは PaddingStrategy, 省略可, デフォルトはTrue) — 返されるシーケンスのパディング戦略(モデルのパディング側およびパディングインデックスに従う)として、以下から選択します:Trueまたは'longest': バッチ内の最長のシーケンスの長さにパディングします(単一のシーケンスのみが提供された場合は、パディングを行いません)。'max_length': 引数max_lengthで指定された最大長、またはその引数が指定されていない場合はモデルが受け入れ可能な最大入力長までパディングします。Falseまたは'do_not_pad'(デフォルト):パディングを行いません(つまり、長さが異なるシーケンスのバッチを出力できます)。
- max_length (
int, 任意) — 返されるリストの最大長、および必要に応じてパディングの長さ(上記を参照)。 - truncation (
bool) —max_lengthを超える入力シーケンスをmax_lengthに切り詰めるための切り詰め処理を有効にします。 - pad_to_multiple_of (
int, 省略可能) — 設定すると、シーケンスを指定された値の倍数にパディングします。これは、計算能力が
>= 7.5(Volta)のNVIDIAハードウェアでTensor Coresの利用を有効にするために、また、シーケンス長が128の倍数であることで恩恵を受けるTPUにおいて、特に有用です。 - return_attention_mask (
bool, 省略可能) — attention mask を返すかどうか。デフォルトのままにすると、特定の feature_extractor のデフォルトに従って attention mask を返します。 - return_tensors (
strまたは TensorType, 省略可) — 設定すると、Python の整数のリストではなくテンソルを返します。指定可能な値は以下の通りです:'pt': PyTorchのtorch.Tensorオブジェクトを返します。'np': Numpy のnp.ndarrayオブジェクトを返します。
入力値/入力ベクトル、または入力値/入力ベクトルのバッチを、事前定義された長さまたはバッチ内の最大シーケンス長までパディングします。
パディング側(左/右)のパディング値は、フィーチャーエクストラクターレベルで定義されます(self.padding_side、self.padding_value)。
processed_featuresに渡されたものが numpy 配列の辞書または PyTorch テンソルの場合、return_tensorsで別のテンソル型を指定しない限り、結果も同じ型になります。ただし、PyTorch テンソルの場合は、テンソルが配置されていた特定のデバイス情報が失われます。
BatchFeature
class transformers.BatchFeature
< source >( 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
< source >( 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: 配列のような構造を持たない値(文字列、辞書、文字列のリストなど)は自動的にスキップされ、テンソルに変換されません。ラガッド配列(長さが異なる配列のリスト)については変換が試みられますが、変換中にエラーが発生する可能性があります。
へ
< source >( *args**kwargs ) → BatchFeature
v.to(*args, **kwargs) を呼び出して、すべての値をデバイスに送信します(PyTorch のみ)。これにより、異なる dtypes へのキャストや、BatchFeature を別の device へ送信することがサポートされるべきです。
ImageFeatureExtractionMixin
画像特徴の準備に使用するユーティリティを含むミックスインです。
center_crop
< source >( imagesize ) → new_image
image を中心クロップを使用して指定サイズに切り出します。画像が指定サイズにクロップできないほど小さい場合、パディングが適用されます(そのため、返される結果は要求されたサイズになります)。
PIL.Image.ImageをRGB形式に変換します。
expand_dims
< source >( image )
2次元のimageを3次元に拡張します。
flip_channel_order
< source >( image )
image のチャネル順序を RGB から BGR に、またはその逆に変換します。なお、image が PIL Image の場合、NumPy 配列への変換がトリガーされます。
normalize
< source >( imagemeanstdrescale = False )
パラメータ
- image (
PIL.Image.Imageまたはnp.ndarrayまたはtorch.Tensor) — 正規化対象の画像。 - mean (
list[float]またはnp.ndarrayまたはtorch.Tensor) — 正規化に使用する平均値(チャネルごと)です。 - std (
list[float]またはnp.ndarrayまたはtorch.Tensor) — 正規化に使用する標準偏差(チャネルごと)。 - rescale (
bool、省略可、デフォルトはFalse) — 画像を 0 から 1 の範囲にリスケールするかどうかを指定します。PIL 画像が提供されている場合、スケーリングは自動的に実行されます。
image を mean と std で正規化します。なお、image が PIL Image の場合、NumPy 配列への変換がトリガーされます。
numpyの画像をスケール量でリスケールします
リサイズ
< source >( imagesizeresample = Nonedefault_to_square = Truemax_size = None ) → image
パラメータ
- image (
PIL.Image.Imageまたはnp.ndarrayまたはtorch.Tensor) — リサイズする画像です。 - size (
intまたはtuple[int, int]) — 画像のリサイズに使用するサイズ。sizeが (h, w) のようなシーケンスの場合、出力サイズはこれに一致させられます。sizeが int 型でdefault_to_squareがTrueの場合、画像は (size, size) にリサイズされます。sizeが int 型でdefault_to_squareがFalseの場合、画像の短い辺がこの数値に一致するように調整されます。つまり、height > width の場合、画像は (size * height / width, size) にリスケールされます。 - resample (
int、任意、デフォルトはPILImageResampling.BILINEAR) — リサンプリングに使用するフィルタ。 - default_to_square (
bool、省略可能、デフォルトはTrue) —sizeが単一の int の場合の変換方法です。Trueに設定すると、sizeは正方形 (size,size) に変換されます。Falseに設定すると、最小辺のみをリサイズする機能と、任意のmax_sizeを指定する機能を備えたtorchvision.transforms.Resizeと同じ動作になります。 - max_size (
int, 任意、デフォルトはNone) — リサイズ後の画像の長い辺の許容される最大値です。画像がsizeに基づいてリサイズされた後、長い辺がmax_sizeより大きい場合、長い辺がmax_sizeに等しくなるように画像が再度リサイズされます。その結果、sizeが上書きされ、短い辺がsizeより短くなる可能性があります。default_to_squareがFalseの場合のみ使用されます。
戻り値
image
リサイズされたPIL.Image.Image。
imageをリサイズします。入力をPIL.Imageに変換することを強制します。
rotate
< source >( imageangleresample = Noneexpand = 0center = Nonetranslate = Nonefillcolor = None ) → image
image の回転コピーを返します。このメソッドは、image のコピーを、中心を基準として指定された角度だけ反時計回りに回転させて返します。
to_numpy_array
< source >( imagerescale = Nonechannel_first = True )
imageをNumPy配列に変換します。必要に応じて、スケールを再調整し、チャネル次元を最初の次元に配置します。
to_pil_image
< source >( imagerescale = None )
imageをPIL Imageに変換します。必要に応じて、リスケールし、チャネル次元を最後の軸に戻します。