Transformers documentation
Ekstraktor fitur
Ekstraktor fitur
Feature extractor bertanggung jawab untuk menyiapkan fitur input untuk model audio. Ini mencakup ekstraksi fitur dari sekuens, misalnya, pra-pemrosesan file audio untuk menghasilkan fitur Log-Mel Spectrogram, dan konversi ke tensor NumPy dan PyTorch.
FeatureExtractionMixin
Ini adalah mixin ekstraksi fitur yang digunakan untuk menyediakan fungsionalitas penyimpanan/pemuatan untuk ekstraktor fitur sekuensial dan audio.
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 )
Parameter
- pretrained_model_name_or_path (
stratauos.PathLike) — Ini bisa berupa:- sebuah string, model id dari feature_extractor pretrained yang dihosting di dalam repo model di huggingface.co.
- path ke direktori yang berisi file feature extractor yang disimpan menggunakan metode
save_pretrained(), misalnya
./my_model_directory/. - path ke file JSON feature extractor yang disimpan file, misalnya
./my_model_directory/preprocessor_config.json.
- cache_dir (
stratauos.PathLike, opsional) — Path ke direktori tempat feature extractor model pretrained yang diunduh harus di-cache jika cache standar tidak digunakan. - force_download (
bool, opsional, defaultFalse) — Apakah akan memaksa (mengunduh ulang) file feature extractor dan menimpa versi yang di-cache jika ada. - proxies (
dict[str, str], opsional) — Kamus server proxy untuk digunakan berdasarkan protokol atau endpoint, misalnya{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}.Proxy digunakan pada setiap permintaan. - token (
strataubool, opsional) — Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. JikaTrue, atau tidak ditentukan, akan menggunakan token yang dihasilkan saat menjalankanhf auth login(disimpan di~/.huggingface). - revision (
str, opsional, default"main") — Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, atau commit id, karena kami menggunakan sistem berbasis git untuk menyimpan model dan artefak lainnya di huggingface.co, sehinggarevisiondapat berupa identifikasi apa pun yang diizinkan oleh git.
Instansiasi tipe FeatureExtractionMixin dari feature extractor, misalnya kelas turunan dari SequenceFeatureExtractor.
Contoh:
# 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 )
Parameter
- save_directory (
stratauos.PathLike) — Direktori tempat file JSON feature extractor akan disimpan (akan dibuat jika belum ada). - push_to_hub (
bool, opsional, defaultFalse) — Apakah model Anda akan didorong ke Hugging Face model hub setelah disimpan. Anda dapat menentukan repository yang ingin Anda tuju denganrepo_id(defaultnya adalah namasave_directorydi namespace Anda). - kwargs (
dict[str, Any], opsional) — Argumen kata kunci tambahan yang diteruskan ke metode push_to_hub().
Simpan objek feature_extractor ke direktori save_directory agar dapat dimuat ulang menggunakan metode kelas from_pretrained().
SequenceFeatureExtractor
kelas transformers.SequenceFeatureExtractor
< source >( feature_size: intsampling_rate: intpadding_value: float**kwargs )
Ini adalah kelas ekstraksi fitur umum untuk pengenalan ucapan.
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 )
Parameter
- processed_features (BatchFeature, daftar BatchFeature,
dict[str, list[float]],dict[str, list[list[float]]ataulist[dict[str, list[float]]]) — Input yang telah diproses. Dapat mewakili satu input (BatchFeature ataudict[str, list[float]]) atau batch nilai / vektor input (daftar BatchFeature, dict[str, list[list[float]]] atau list[dict[str, list[float]]]) sehingga Anda dapat menggunakan metode ini selama pra-pemrosesan maupun dalam fungsi collate PyTorch Dataloader.Alih-alih
list[float], Anda dapat menggunakan tensor (array numpy atau tensor PyTorch), lihat catatan di atas untuk tipe pengembalian. - padding (
bool,stratau PaddingStrategy, opsional, defaultnyaTrue) — Pilih strategi untuk melakukan padding pada urutan yang dikembalikan (sesuai sisi padding dan indeks padding model) di antara:Trueatau'longest': Pad hingga urutan terpanjang dalam batch (atau tanpa padding jika hanya satu urutan yang diberikan).'max_length': Pad hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.Falseatau'do_not_pad'(default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
- max_length (
int, opsional) — Panjang maksimum dari daftar yang dikembalikan dan secara opsional panjang padding (lihat di atas). - truncation (
bool) — Mengaktifkan pemotongan untuk memotong urutan input yang lebih panjang darimax_lengthmenjadimax_length. - pad_to_multiple_of (
int, opsional) — Jika diset, akan melakukan padding pada urutan hingga menjadi kelipatan dari nilai yang diberikan.Ini sangat berguna untuk memungkinkan penggunaan Tensor Cores pada perangkat keras NVIDIA dengan compute capability
>= 7.5(Volta), atau pada TPU yang diuntungkan dari panjang sekuens yang merupakan kelipatan 128. - return_attention_mask (
bool, opsional) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, akan mengembalikan attention mask sesuai dengan default feature_extractor tertentu. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor alih-alih daftar integer Python. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek Numpynp.ndarray.
Pad nilai input / vektor input atau batch nilai input / vektor input hingga panjang yang telah ditentukan atau hingga panjang urutan maksimum dalam batch.
Nilai padding sisi (kiri/kanan) didefinisikan pada level feature extractor (dengan self.padding_side, self.padding_value)
Jika
processed_featuresyang diberikan berupa dictionary dari array numpy atau tensor PyTorch, hasilnya akan menggunakan tipe yang sama kecuali Anda menyediakan tipe tensor yang berbeda denganreturn_tensors. Dalam kasus tensor PyTorch, Anda akan kehilangan perangkat spesifik dari tensor Anda.
BatchFeature
kelas 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 )
Parameter
- data (
dict, opsional) — Kamus berisi daftar/array/tensor yang dikembalikan oleh metode call/pad (‘input_values’, ‘attention_mask’, dll.). - tensor_type (
Union[None, str, TensorType], opsional) — Anda dapat memberikan tensor_type di sini untuk mengonversi daftar bilangan bulat menjadi Tensor PyTorch/Numpy saat inisialisasi. - skip_tensor_conversion (
list[str]atauset[str], opsional) — Daftar atau set kunci yang TIDAK boleh dikonversi menjadi tensor, bahkan ketikatensor_typeditentukan.
Menyimpan output dari metode pad() dan __call__ spesifik feature extractor.
Kelas ini diturunkan dari kamus python dan dapat digunakan sebagai kamus.
convert_to_tensors
< source >( tensor_type: str | transformers.utils.generic.TensorType | None = Noneskip_tensor_conversion: list[str] | set[str] | None = None )
Parameter
- tensor_type (
stratau TensorType, opsional) — Jenis tensor yang akan digunakan. Jikastr, harus salah satu nilai dari enum TensorType. JikaNone, tidak ada modifikasi yang dilakukan. - skip_tensor_conversion (
list[str]atauset[str], opsional) — Daftar atau set kunci yang TIDAK boleh dikonversi menjadi tensor, bahkan ketikatensor_typeditentukan.
Konversi konten internal menjadi tensor.
Note: Nilai yang tidak memiliki struktur seperti array (misalnya, string, dict, daftar string) akan dilewati secara otomatis dan tidak akan dikonversi menjadi tensor. Array yang tidak beraturan (daftar array dengan panjang berbeda) tetap akan dicoba, meskipun mungkin menimbulkan error selama konversi.
ke
< source >( *args**kwargs ) → BatchFeature
Kirim semua nilai ke perangkat dengan memanggil v.to(*args, **kwargs) (hanya PyTorch). Ini harus mendukung casting ke dtypes yang berbeda dan mengirim BatchFeature ke device yang berbeda.
ImageFeatureExtractionMixin
Mixin yang berisi utilitas untuk menyiapkan fitur gambar.
center_crop
< source >( imagesize ) → new_image
Parameter
- image (
PIL.Image.Imageataunp.ndarrayatautorch.Tensordengan bentuk (n_channels, height, width) atau (height, width, n_channels)) — Gambar yang akan diubah ukurannya. - size (
intatautuple[int, int]) — Ukuran yang menjadi target pemotongan gambar.
Mengembalikan
new_image
Center cropped PIL.Image.Image atau np.ndarray atau torch.Tensor dengan bentuk: (n_channels,
height, width).
Crops image ke ukuran yang diberikan menggunakan center crop. Perhatikan bahwa jika gambar terlalu kecil untuk di-crop ke ukuran yang diberikan, gambar akan di-pad (sehingga hasil yang dikembalikan memiliki ukuran yang diminta).
Mengonversi PIL.Image.Image ke format RGB.
expand_dims
< source >( image )
Memperluas image 2 dimensi menjadi 3 dimensi.
flip_channel_order
< source >( image )
Membalikkan urutan channel dari image dari RGB ke BGR, atau sebaliknya. Perhatikan bahwa ini akan memicu konversi image menjadi array NumPy jika berupa PIL Image.
normalize
< source >( imagemeanstdrescale = False )
Parameter
- image (
PIL.Image.Imageataunp.ndarrayatautorch.Tensor) — Gambar yang akan dinormalisasi. - mean (
list[float]ataunp.ndarrayatautorch.Tensor) — Rata-rata (per channel) yang digunakan untuk normalisasi. - std (
list[float]ataunp.ndarrayatautorch.Tensor) — Standar deviasi (per channel) yang digunakan untuk normalisasi. - rescale (
bool, opsional, defaultFalse) — Apakah akan melakukan penskalaan ulang gambar agar berada di antara 0 dan 1. Jika gambar PIL diberikan, penskalaan akan terjadi secara otomatis.
Menormalkan image dengan mean dan std. Perhatikan bahwa ini akan memicu konversi image menjadi array NumPy jika berupa PIL Image.
Skala ulang gambar numpy dengan jumlah skala
resize
< source >( imagesizeresample = Nonedefault_to_square = Truemax_size = None ) → image
Parameter
- image (
PIL.Image.Imageataunp.ndarrayatautorch.Tensor) — Gambar yang akan diubah ukurannya. - size (
intatautuple[int, int]) — Ukuran yang akan digunakan untuk mengubah ukuran gambar. Jikasizeadalah urutan seperti (h, w), ukuran output akan disesuaikan dengan ini.Jika
sizeadalah int dandefault_to_squareadalahTrue, maka gambar akan di-resize menjadi (size, size). Jikasizeadalah int dandefault_to_squareadalahFalse, maka sisi terkecil gambar akan disesuaikan dengan angka ini. yaitu, jika height > width, maka gambar akan di-rescale menjadi (size * height / width, size). - resample (
int, opsional, defaultPILImageResampling.BILINEAR) — Filter yang digunakan untuk resampling. - default_to_square (
bool, opsional, defaultnyaTrue) — Cara mengonversisizeketika berupa satu int. Jika diset keTrue,sizeakan dikonversi menjadi persegi (size,size). Jika diset keFalse, akan mereplikasitorchvision.transforms.Resizedengan dukungan untuk mengubah ukuran hanya pada sisi terkecil dan menyediakanmax_sizeopsional. - max_size (
int, opsional, defaultnyaNone) — Batas maksimum untuk sisi terpanjang dari gambar yang di-resize: jika sisi terpanjang gambar lebih besar darimax_sizesetelah di-resize sesuai dengansize, maka gambar akan di-resize lagi sehingga sisi terpanjangnya sama denganmax_size. Akibatnya,sizemungkin ditimpa, yaitu sisi yang lebih pendek bisa menjadi lebih pendek darisize. Hanya digunakan jikadefault_to_squareadalahFalse.
Mengembalikan
image
PIL.Image.Image yang telah diubah ukurannya.
Mengubah ukuran image. Memastikan konversi input menjadi PIL.Image.
rotate
< source >( imageangleresample = Noneexpand = 0center = Nonetranslate = Nonefillcolor = None ) → image
Mengembalikan salinan yang diputar dari image. Metode ini mengembalikan salinan dari image, yang diputar sejumlah derajat tertentu berlawanan arah jarum jam di sekitar pusatnya.
to_numpy_array
< source >( imagerescale = Nonechannel_first = True )
Parameter
- image (
PIL.Image.Imageataunp.ndarrayatautorch.Tensor) — Gambar yang akan dikonversi menjadi array NumPy. - rescale (
bool, opsional) — Apakah akan menerapkan faktor penskalaan (untuk membuat nilai piksel menjadi float antara 0. dan 1.). Akan default keTruejika gambar adalah PIL Image atau array/tensor dari integer,Falseselain itu. - channel_first (
bool, opsional, defaultTrue) — Apakah akan mempermutasi dimensi gambar untuk menempatkan dimensi channel di depan.
Mengonversi image menjadi array numpy. Secara opsional, melakukan penskalaan ulang dan menempatkan dimensi channel sebagai dimensi pertama.
to_pil_image
< source >( imagerescale = None )
Parameter
- image (
PIL.Image.Imageataunumpy.ndarrayatautorch.Tensor) — Gambar yang akan dikonversi ke format PIL Image. - rescale (
bool, opsional) — Apakah akan menerapkan faktor penskalaan (untuk membuat nilai piksel menjadi bilangan bulat antara 0 dan 255). Akan default keTruejika tipe gambar adalah tipe floating,Falseselain itu.
Mengonversi image menjadi PIL Image. Secara opsional, melakukan penskalaan ulang dan mengembalikan dimensi channel sebagai sumbu terakhir jika diperlukan.