Transformers documentation
Özellik çıkarıcı
Özellik çıkarıcı
Bir özellik çıkarıcı, ses modelleri için girdi özelliklerini hazırlamaktan sorumludur. Bu, dizilerden özellik çıkarma (ör. Log-Mel Spektrogram özellikleri üretmek için ses dosyalarını ön işleme) ve NumPy ile PyTorch tensörlerine dönüştürme işlemlerini içerir.
FeatureExtractionMixin
Bu, ardışık ve sesli özellik çıkarıcılar için kaydetme/yükleme işlevselliği sağlamak için kullanılan bir özellik çıkarımı karışımıdır (mixin).
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 )
Parametreler
- pretrained_model_name_or_path (
strveyaos.PathLike) — Bunlardan biri olabilir:- bir dize, huggingface.co'daki bir model deposunda barındırılan ön eğitilmiş bir feature_extractor'ın model kimliği.
- save_pretrained() yöntemi kullanılarak kaydedilmiş bir özellik çıkarıcı dosyası içeren bir dizin yoluna, örneğin
./my_model_directory/. - kaydedilmiş bir özellik çıkarıcı JSON dosyasına giden bir yol, örneğin
./my_model_directory/preprocessor_config.json.
- cache_dir (
strveyaos.PathLike, isteğe bağlı) — Standart önbellek kullanılmayacaksa, indirilen önceden eğitilmiş model özellik çıkarıcısının önbelleğe alınacağı dizinin yolu. - force_download (
bool, isteğe bağlı, varsayılanFalse) — Özellik çıkarıcı dosyalarının (yeniden) indirilmesini zorlayıp mevcut ise önbellekteki sürümlerin üzerine yazılacak mı? - 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 (
strveyabool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton.Trueise veya belirtilmezse,hf auth loginçalıştırıldığında oluşturulan jeton (~/.huggingfaceiç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 nedenlerevision, git tarafından izin verilen herhangi bir tanımlayıcı olabilir.
Bir özellik çıkarıcıdan, örneğin SequenceFeatureExtractor'nin türetilmiş bir sınıfından, FeatureExtractionMixin türünün bir örneğini oluşturun.
Örnekler:
# 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 )
Parametreler
- save_directory (
strveyaos.PathLike) — Özellik çıkarıcısının JSON dosyasının kaydedileceği dizin (varsa oluşturulur). - push_to_hub (
bool, isteğe bağlı, varsayılanFalse) — Modelinizi kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyurepo_idile belirtebilirsiniz (varsayılan olarak ad alanınızdakisave_directoryadını kullanır). - kwargs (
dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.
Save a feature_extractor object to the directory save_directory, so that it can be re-loaded using the from_pretrained() class method.
SequenceFeatureExtractor
sınıf transformers.SequenceFeatureExtractor
< source >( feature_size: intsampling_rate: intpadding_value: float**kwargs )
Bu, konuşma tanıma için genel bir özellik çıkarma sınıfıdır.
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 )
Parametreler
- processed_features (BatchFeature, list of BatchFeature,
dict[str, list[float]],dict[str, list[list[float]]veyalist[dict[str, list[float]]]) — İşlenmiş girdiler. Tek bir girdiyi temsil edebilir (BatchFeature veyadict[str, list[float]]) veya bir girdi değeri / vektörü grubunu (list of BatchFeature, dict[str, list[list[float]]] veya list[dict[str, list[float]]]) bu sayede bu yöntemi hem ön işleme sırasında hem de bir PyTorch Dataloader collate işlevinde kullanabilirsiniz.list[float]yerine tensörler (numpy dizileri veya PyTorch tensörleri) kullanabilirsiniz, dönüş tipi için yukarıdaki notu inceleyin. - padding (
bool,strveya PaddingStrategy, isteğe bağlı, varsayılan olarakTrue) — Dönen dizilere dolgu uygulanacak stratejiyi seçin (modelin dolgu yönüne ve dolgu indeksine göre):Trueveya'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz).'max_length':max_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.Falseveya'do_not_pad'(varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
- max_length (
int, isteğe bağlı) — Döndürülen listenin ve isteğe bağlı dolgu uzunluğunun (bkz. yukarı) maksimum uzunluğu. - truncation (
bool) —max_length'den uzun giriş dizilerinimax_lengthdeğerine kısaltmak için kesme işlemini etkinleştirir. - pad_to_multiple_of (
int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur.Bu, hesaplama yeteneği
>= 7.5(Volta) olan NVIDIA donanımlarında Tensor Core kullanımını etkinleştirmek veya 128'in katları olan dizi uzunluklarından faydalanan TPU'lar için özellikle faydalıdır. - return_attention_mask (
bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili feature_extractor'ın varsayılanına göre dikkat maskesi döndürülür. - return_tensors (
strveya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:'pt': PyTorchtorch.Tensornesnelerini döndürür.'np': Numpynp.ndarraynesnelerini döndürür.
Girdi değerlerini / girdi vektörlerini veya bir girdi değerleri / girdi vektörleri grubunu, önceden tanımlanmış uzunluğa veya gruptaki en uzun dizinin uzunluğuna kadar doldurun.
Padding tarafı (sol/sağ) padding değerleri, özellik çıkarıcısı seviyesinde tanımlanır (self.padding_side, self.padding_value ile).
processed_featuresolarak iletilenler numpy dizileri veya PyTorch tensörleri sözlüğü ise,return_tensorsile farklı bir tensör türü belirtmedikçe sonuç aynı türü kullanır. PyTorch tensörleri durumunda, tensörlerinizin belirli cihazını kaybedersiniz.
BatchFeature
sınıf 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 )
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]veyaset[str], isteğe bağlı) —tensor_typebelirtilse 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
< source >( tensor_type: str | transformers.utils.generic.TensorType | None = Noneskip_tensor_conversion: list[str] | set[str] | None = None )
Parametreler
- tensor_type (
strveya TensorType, isteğe bağlı) — Kullanılacak tensörlerin türü.strise, TensorType enum'undaki değerlerden biri olmalıdır.Noneise, herhangi bir değişiklik yapılmaz. - skip_tensor_conversion (
list[str]veyaset[str], isteğe bağlı) —tensor_typebelirtilse 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
< source >( *args**kwargs ) → BatchFeature
Parametreler
- args (
Tuple) — Tensor'larınto(...)fonksiyonuna iletilecektir. - kwargs (
Dict, isteğe bağlı) — Tensörlerinto(...)fonksiyonuna aktarılacaktır. Asenkron veri aktarımını etkinleştirmek içinkwargsiçindenon_blockingbayrağını ayarlayın (varsayılanFalse).
Dönüş değeri
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.
ImageFeatureExtractionMixin
Görsel özellikleri hazırlamak için yardımcılar içeren karışım (mixin).
center_crop
< source >( imagesize ) → new_image
Parametreler
- image (
PIL.Image.Imageveyanp.ndarrayveya (n_channels, height, width) veya (height, width, n_channels) biçimindetorch.Tensor) — Boyutu yeniden ayarlanacak görüntü. - size (
intveyatuple[int, int]) — Görselin kırpılacağı boyut.
Dönüş değeri
new_image
Şekli (n_channels,
height, width) olan, merkezden kırpılmış bir PIL.Image.Image veya np.ndarray veya torch.Tensor.
image öğesini merkezden kırpma yöntemiyle verilen boyuta kırpılır. Görselin, verilen boyuta kırpılmak için yeterince büyük olmaması durumunda, dolgu uygulanır (böylece döndürülen sonuç istenen boyuta sahip olur).
PIL.Image.Image nesnesini RGB formatına dönüştürür.
expand_dims
< source >( image )
2 boyutlu image'yi 3 boyuta genişletir.
flip_channel_order
< source >( image )
image kanal sırasını RGB'den BGR'ye veya BGR'den RGB'ye çevirir. Dikkat edin, image bir PIL Image ise bu işlem NumPy dizisine dönüştürülmesini tetikler.
normalize
< source >( imagemeanstdrescale = False )
Parametreler
- image (
PIL.Image.Imageveyanp.ndarrayveyatorch.Tensor) — Normalleştirilecek görüntü. - mean (
list[float]veyanp.ndarrayveyatorch.Tensor) — Normalizasyon için kullanılacak ortalama (kanal başına). - std (
list[float]veyanp.ndarrayveyatorch.Tensor) — Normalizasyon için kullanılacak standart sapma (kanal başına). - rescale (
bool, isteğe bağlı, varsayılanFalse) — Görselin 0 ile 1 arasında yeniden ölçeklendirilip ölçeklendirilmeyeceği. Bir PIL görseli sağlanırsa ölçeklendirme otomatik olarak yapılır.
image değerini mean ve std ile normalize eder. image bir PIL Image ise bunun bir NumPy dizisine dönüştürülmesine neden olacağını unutmayın.
Bir numpy görüntüsünü ölçek miktarına göre yeniden ölçeklendirir
boyutlandır
< source >( imagesizeresample = Nonedefault_to_square = Truemax_size = None ) → image
Parametreler
- image (
PIL.Image.Imageveyanp.ndarrayveyatorch.Tensor) — Boyutu yeniden ayarlanacak görüntü. - size (
intveyatuple[int, int]) — Görseli yeniden boyutlandırırken kullanılacak boyut. Eğersize(h, w) gibi bir dizi ise, çıktı boyutu buna göre ayarlanır.sizebir int vedefault_to_squareTrueise, görüntü (size, size) boyutuna yeniden boyutlandırılır.sizebir int vedefault_to_squareFalseise, görüntünün daha küçük kenarı bu sayıyla eşleştirilir. Örneğin, yükseklik > genişlik ise, görüntü (size * height / width, size) boyutuna yeniden ölçeklenir. - resample (
int, isteğe bağlı, varsayılanPILImageResampling.BILINEAR) — Yeniden örneklemeye kullanıcı tarafından kullanılacak filtre. - default_to_square (
bool, isteğe bağlı, varsayılanTrue) —sizetek bir int olduğunda nasıl dönüştürüleceği.Trueolarak ayarlanırsa,sizebir kareye (size,size) dönüştürülür.Falseolarak ayarlanırsa, yalnızca en küçük kenarı yeniden boyutlandırma desteği ve isteğe bağlımax_sizesağlayaraktorchvision.transforms.Resizedavranışını taklit eder. - max_size (
int, isteğe bağlı, varsayılanNone) — Yeniden boyutlandırılmış görüntünün daha uzun kenarı için izin verilen maksimum değer: görüntünün daha uzun kenarı,sizeparametresine göre yeniden boyutlandırıldıktan sonramax_sizedeğerinden büyükse, görüntü daha uzun kenarımax_sizedeğerine eşit olacak şekilde bir kez daha yeniden boyutlandırılır. Sonuç olaraksizedeğeri geçersiz kılınabilir, yani daha kısa kenarsizedeğerinden daha kısa olabilir. Yalnızcadefault_to_squaredeğeriFalseise kullanılır.
Dönüş değeri
image
Boyutu yeniden ayarlanmış PIL.Image.Image.
image öğesini yeniden boyutlandırır. Girdinin PIL.Image'e dönüştürülmesini zorlar.
rotate
< source >( imageangleresample = Noneexpand = 0center = Nonetranslate = Nonefillcolor = None ) → image
image için döndürülmüş bir kopya döndürür. Bu yöntem, image öğesinin merkez etrafında saat yönünün tersine verilen derece kadar döndürülmüş bir kopyasını döndürür.
to_numpy_array
< source >( imagerescale = Nonechannel_first = True )
Parametreler
- image (
PIL.Image.Imageveyanp.ndarrayveyatorch.Tensor) — NumPy dizisine dönüştürülecek görüntü. - rescale (
bool, isteğe bağlı) — Ölçekleme çarpanının uygulanıp uygulanmayacağı (piksel değerlerini 0. ile 1. arasında ondalık sayılar haline getirmek için). Görsel bir PIL Image ise veya tamsayı bir dizi/tensor ise varsayılan olarakTrue, aksi takdirdeFalseolur. - channel_first (
bool, isteğe bağlı, varsayılanTrue) — Görselin boyutlarını değiştirerek kanal boyutunu en başa almak için boyutların permute edilecek olup olmadığı.
image değerini bir numpy dizisine dönüştürür. İsteğe bağlı olarak yeniden ölçekler ve kanal boyutunu ilk boyut olarak yerleştirir.
to_pil_image
< source >( imagerescale = None )
Parametreler
- image (
PIL.Image.Imageveyanumpy.ndarrayveyatorch.Tensor) — PIL Image formatına dönüştürülecek görüntü. - rescale (
bool, isteğe bağlı) — Ölçekleme çarpanının uygulanıp uygulanmayacağı (piksel değerlerinin 0 ile 255 arasında tamsayı olması için). Görüntü tipi kayan noktalı bir tip ise varsayılan olarakTrue, aksi haldeFalseolur.
image öğesini bir PIL Image'ına dönüştürür. Gerekirse yeniden ölçeklendirir ve kanal boyutunu son eksen olarak geri koyar.