Transformers documentation
Hattalar
Hattalar
Pipelines, modelleri çıkarım için kullanmanın harika ve kolay bir yoludur. Bu pipeline'lar, kütüphanedeki karmaşık kodun çoğunu soyutlayan ve Adlandırılmış Varlık Tanıma, Maskeli Dil Modelleme, Duygu Analizi, Özellik Çıkarımı ve Soru Cevaplama dahil olmak üzere çeşitli görevlere adanmış basit bir API sunan nesnelerdir. Kullanım örnekleri için görev listesine bakın.
Dikkat edilmesi gereken iki tür pipeline soyutlaması vardır:
- Diğer tüm pipeline'ları kapsayan en güçlü nesne olan pipeline().
- Görevlere özel hatlar sese, bilgisayarla görü, doğal dil işleme ve çok modlu görevler için kullanılabilir.
Pipeline soyutlaması
pipeline soyutlaması, kullanılabilir diğer tüm pipeline'ların bir sarmalayıcısıdır. Diğer herhangi bir pipeline gibi örneklenir ancak ek kalite yaşamı (quality of life) sağlayabilir.
Tek bir öğe üzerinde basit çağrı:
>>> pipe = pipeline("text-classification")
>>> pipe("This restaurant is awesome")
[{'label': 'POSITIVE', 'score': 0.9998743534088135}]hub'daki belirli bir modeli kullanmak istiyorsanız, hub'daki model zaten görevi tanımlıyorsa görevi göz ardı edebilirsiniz:
>>> pipe = pipeline(model="FacebookAI/roberta-large-mnli")
>>> pipe("This restaurant is awesome")
[{'label': 'NEUTRAL', 'score': 0.7313136458396912}]Birçok öğe üzerinde bir pipeline çağırmak için, onu bir list ile çağırabilirsiniz.
>>> pipe = pipeline("text-classification")
>>> pipe(["This restaurant is awesome", "This restaurant is awful"])
[{'label': 'POSITIVE', 'score': 0.9998743534088135},
{'label': 'NEGATIVE', 'score': 0.9996669292449951}]Tam veri kümeleri üzerinde döngü yapmak için dataset nesnesini doğrudan kullanmanız önerilir. Bu, tüm veri kümesini tek seferde ayırmanıza gerek kalmadığı gibi, toplama (batching) işlemini de kendinizin yapmanıza gerek kalmadığı anlamına gelir. Bu, GPU üzerinde özel döngüler kadar hızlı çalışmalıdır. Aksi halde bir sorun (issue) oluşturmaktan çekinmeyin.
import datasets
from transformers import pipeline
from transformers.pipelines.pt_utils import KeyDataset
from tqdm.auto import tqdm
pipe = pipeline("automatic-speech-recognition", model="facebook/wav2vec2-base-960h", device=0)
dataset = datasets.load_dataset("s3prl/superb", name="asr", split="test")
# KeyDataset (only *pt*) will simply return the item in the dict returned by the dataset item
# as we're not interested in the *target* part of the dataset. For sentence pair use KeyPairDataset
for out in tqdm(pipe(KeyDataset(dataset, "file"))):
print(out)
# {"text": "NUMBER TEN FRESH NELLY IS WAITING ON YOU GOOD NIGHT HUSBAND"}
# {"text": ....}
# ....Kullanım kolaylığı için bir üreteç de mümkündür:
from transformers import pipeline
pipe = pipeline("text-classification")
def data():
while True:
# This could come from a dataset, a database, a queue or HTTP request
# in a server
# Caveat: because this is iterative, you cannot use `num_workers > 1` variable
# to use multiple threads to preprocess data. You can still have 1 thread that
# does the preprocessing while the main runs the big inference
yield "This is a test"
for out in pipe(data()):
print(out)
# {"text": "NUMBER TEN FRESH NELLY IS WAITING ON YOU GOOD NIGHT HUSBAND"}
# {"text": ....}
# ....transformers.pipeline
< source >( task: str | None = Nonemodel: str | PreTrainedModel | None = Noneconfig: str | PreTrainedConfig | None = Nonetokenizer: str | PreTrainedTokenizer | PreTrainedTokenizerFast | None = Nonefeature_extractor: str | FeatureExtractionMixin | None = Noneimage_processor: str | BaseImageProcessor | None = Nonevideo_processor: str | BaseVideoProcessor | None = Noneprocessor: str | ProcessorMixin | None = Nonerevision: str | None = Noneuse_fast: bool = Truetoken: str | bool | None = Nonedevice: int | str | torch.device | None = Nonedevice_map: str | dict[str, int | str] | None = Nonedtype: str | torch.dtype | None = 'auto'trust_remote_code: bool | None = Nonemodel_kwargs: dict[str, Any] | None = Nonepipeline_class: Any | None = None**kwargs: Any ) → Pipeline
Parametreler
- task (
str) — Dönülecek hattı belirleyen görev. Şu anda kabul edilen görevler şunlardır:"audio-classification": bir AudioClassificationPipeline döndürür."automatic-speech-recognition": bir AutomaticSpeechRecognitionPipeline döndürür."depth-estimation": bir DepthEstimationPipeline döndürür."document-question-answering": bir DocumentQuestionAnsweringPipeline döndürür."feature-extraction": bir FeatureExtractionPipeline döndürür."fill-mask": bir FillMaskPipeline döndürür:."image-classification": bir ImageClassificationPipeline döndürür."image-feature-extraction": bir ImageFeatureExtractionPipeline döndürür."image-segmentation": bir ImageSegmentationPipeline döndürür."image-text-to-text": bir ImageTextToTextPipeline döndürür."keypoint-matching": KeypointMatchingPipeline döndürülür."mask-generation": MaskGenerationPipeline döndürülür."object-detection": ObjectDetectionPipeline döndürülür."table-question-answering": bir TableQuestionAnsweringPipeline döndürür."text-classification"(kullanılabilir takma ad:"sentiment-analysis"): bir TextClassificationPipeline döndürür."text-generation": bir TextGenerationPipeline döndürür:."text-to-audio"(kullanılabilir takma ad:"text-to-speech"): bir TextToAudioPipeline döndürür:."token-classification"(kullanılabilir takma ad"ner"): bir TokenClassificationPipeline döndürür."video-classification": bir VideoClassificationPipeline döndürür."zero-shot-classification": bir ZeroShotClassificationPipeline döndürür."zero-shot-image-classification": bir ZeroShotImageClassificationPipeline döndürür."zero-shot-audio-classification": ZeroShotAudioClassificationPipeline döndürülür."zero-shot-object-detection": bir ZeroShotObjectDetectionPipeline döndürür.
- model (
strveya PreTrainedModel, isteğe bağlı) — Pipeline'ın tahminler yaparken kullanacağı model. Bu, bir model tanımlayıcısı veya PreTrainedModel.Sağlanmazsa,
taskiçin varsayılan yüklenir. - config (
strveya PreTrainedConfig, isteğe bağlı) — Pipeline'ın modeli örneklemek için kullanacağı yapılandırma. Bu, bir model tanımlayıcısı veya PreTrainedConfig.Verilmezse, istenen model için varsayılan yapılandırma dosyası kullanılır. Bu,
modelverildiğinde onun varsayılan yapılandırmasının kullanılacağı anlamına gelir. Ancakmodelsağlanmazsa, bunun yerinetask'ın varsayılan modelinin yapılandırması kullanılır. - tokenizer (
strveya PreTrainedTokenizer, isteğe bağlı) — Pipeline'ın modeli için verileri kodlamak üzere kullanacağı tokenizer. Bu, bir model tanımlayıcısı veya PreTrainedTokenizer.Verilmezse, verilen
modeliçin varsayılan tokenizer yüklenecektir (bir dize ise).modelbelirtilmezse veya bir dize değilse,configiçin varsayılan tokenizer yüklenecektir (bir dize ise). Ancak,configde verilmezse veya bir dize değilse, verilentaskiçin varsayılan tokenizer yüklenecektir. - feature_extractor (
strveya FeatureExtractionMixin, isteğe bağlı) — Pipeline'ın modeli için verileri kodlamak üzere kullanacağı özellik çıkarıcı. Bu, bir model tanımlayıcısı veya FeatureExtractionMixin.Feature extractors, Speech veya Vision gibi NLP dışı modellerde ve çok modlu modellerde kullanılır. Çok modlu modellerin bir tokenizer'ın da geçirilmesini gerektireceğini unutmayın.
Verilmezse, verilen
modeliçin varsayılan özellik çıkarıcı yüklenecektir (bir dize ise).modelbelirtilmezse veya bir dize değilse,configiçin varsayılan özellik çıkarıcı yüklenecektir (bir dize ise). Ancakconfigde verilmezse veya bir dize değilse, verilentaskiçin varsayılan özellik çıkarıcı yüklenecektir. - image_processor (
strveya BaseImageProcessor, isteğe bağlı) — Pipeline'ın model için görüntüleri ön işlemek üzere kullanacağı görüntü işleyici. Bu, bir model tanımlayıcısı veya BaseImageProcessor.Görüntü işleyiciler, görüntü girdileri gerektiren Vision modelleri ve çok modlu modeller için kullanılır. Çok modlu modellerin ayrıca bir tokenizer'ın geçirilmesini gerektireceğini unutmayın.
Verilmezse, verilen
modeliçin varsayılan görüntü işleyici yüklenir (bir dize ise).modelbelirtilmezse veya bir dize değilse,configiçin varsayılan görüntü işleyici yüklenir (bir dize ise). - processor (
strveya ProcessorMixin, isteğe bağlı) — Pipeline'ın model için verileri ön işlemek üzere kullanacağı işlemci. Bu, bir model tanımlayıcısı veya ProcessorMixin.İşleyiciler, çok modlu girdiler gerektiren çok modlu modellerde kullanılır; örneğin hem metin hem de görüntü girdisi gerektiren bir model.
Verilmezse, verilen
modeliçin varsayılan işlemci yüklenir (bir dize ise).modelbelirtilmezse veya bir dize değilse,configiçin varsayılan işlemci yüklenir (bir dize ise). - revision (
str, isteğe bağlı, varsayılan"main") — Bir görev adı veya dize model tanımlayıcısı geçirildiğinde: 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. - use_fast (
bool, isteğe bağlı, varsayılanTrue) — Mümkünse Fast bir tokenizer'ın (bir PreTrainedTokenizerFast) kullanılıp kullanılmayacağı. - token (
strveya bool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton.Trueise,hf auth loginçalıştırıldığında oluşturulan jeton kullanılır. - device (
intveyastrveyatorch.device, isteğe bağlı) — Bu hattın (pipeline) tahsis edileceği cihazı (ör.,"cpu","cuda:1","mps"veya1gibi bir GPU sıra numarası) tanımlar. Ayarlanmadığında, hat otomatik olarak ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model sizin için oraya taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin.device_mapile birlikte kullanılamaz. - device_map (
strveyadict[str, Union[int, str, torch.device], isteğe bağlı) — doğrudan olarak gönderilirmodel_kwargs(sadece daha basit bir kısayol).acceleratekütüphanesi mevcut olduğunda,device_map="auto"en optimizedevice_mapotomatik olarak hesaplanır (daha fazla bilgi için bkz. burası ).device_mapvedeviceparametrelerini aynı anda kullanmayın, çünkü bunlar çelişir. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"kullanılır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar. Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … geçirin. - trust_remote_code (
bool, isteğe bağlı, varsayılanFalse) — Hub'da kendi modelleme, yapılandırma, belirteçleştirme veya hatta pipeline dosyalarında tanımlanan özel kodlara izin verilip verilmeyeceği. Bu seçenek, yalnızca güvendiğiniz ve kodunu okuduğunuz depolar içinTrueolarak ayarlanmalıdır; çünkü Hub'da bulunan kodu yerel makinenizde çalıştırır. - model_kwargs (
dict[str, Any], isteğe bağlı) — Modelinfrom_pretrained(..., **model_kwargs)fonksiyonuna iletilen ek anahtar-argüman sözlüğü. - kwargs (
dict[str, Any], isteğe bağlı) — İlgili pipeline sınıfının belgelerinde olası değerler için bkz.) belirli pipeline init'ine iletilen ek anahtar kelime argümanları.
Dönüş değeri
Görev için uygun bir pipeline.
Bir Pipeline oluşturmak için yardımcı fabrika yöntemi.
Bir pipeline şunlardan oluşur:
- Model girdilerini ön işlemek için bir veya daha fazla bileşen, örneğin tokenizer, image_processor, feature_extractor veya processor.
- Girdilerden tahminler üreten bir model.
- Model çıktısını iyileştirmek için isteğe bağlı son işleme adımları; bunlar da işlemciler tarafından ele alınabilir.
While there are such optional arguments as `tokenizer`, `feature_extractor`, `image_processor`, and `processor`, they shouldn't be specified all at once. If these components are not provided, `pipeline` will try to load required ones automatically. In case you want to provide these components explicitly, please refer to a specific pipeline in order to get more details regarding what components are required.
Örnekler:
>>> from transformers import pipeline, AutoModelForTokenClassification, AutoTokenizer
>>> # Sentiment analysis pipeline
>>> analyzer = pipeline("sentiment-analysis")
>>> # Named entity recognition pipeline, passing in a specific model and tokenizer
>>> model = AutoModelForTokenClassification.from_pretrained("dbmdz/bert-large-cased-finetuned-conll03-english")
>>> tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-cased")
>>> recognizer = pipeline("ner", model=model, tokenizer=tokenizer)Pipeline toplu işleme
Tüm pipeline'lar toplu işleme (batching) kullanabilir. Bu, pipeline'ın akış (streaming) yeteneğini kullandığı her durumda (yani listeler veya Dataset veya generator geçirildiğinde) çalışır.
from transformers import pipeline
from transformers.pipelines.pt_utils import KeyDataset
import datasets
dataset = datasets.load_dataset("stanfordnlp/imdb", name="plain_text", split="unsupervised")
pipe = pipeline("text-classification", device=0)
for out in pipe(KeyDataset(dataset, "text"), batch_size=8, truncation="only_first"):
print(out)
# [{'label': 'POSITIVE', 'score': 0.9998743534088135}]
# Exactly the same output as before, but the content are passed
# as batches to the modelAncak bu, performans açısından otomatik olarak bir kazanç anlamına gelmez. Kullanılan donanıma, verilere ve fiilen kullanılan modele bağlı olarak 10 kat hızlanma veya 5 kat yavaşlama olabilir.
Ağırlıklı olarak hızlanma sağlanan bir örnek:
from transformers import pipeline
from torch.utils.data import Dataset
from tqdm.auto import tqdm
pipe = pipeline("text-classification", device=0)
class MyDataset(Dataset):
def __len__(self):
return 5000
def __getitem__(self, i):
return "This is a test"
dataset = MyDataset()
for batch_size in [1, 8, 64, 256]:
print("-" * 30)
print(f"Streaming batch_size={batch_size}")
for out in tqdm(pipe(dataset, batch_size=batch_size), total=len(dataset)):
pass# On GTX 970 ------------------------------ Streaming no batching 100%|██████████████████████████████████████████████████████████████████████| 5000/5000 [00:26<00:00, 187.52it/s] ------------------------------ Streaming batch_size=8 100%|█████████████████████████████████████████████████████████████████████| 5000/5000 [00:04<00:00, 1205.95it/s] ------------------------------ Streaming batch_size=64 100%|█████████████████████████████████████████████████████████████████████| 5000/5000 [00:02<00:00, 2478.24it/s] ------------------------------ Streaming batch_size=256 100%|█████████████████████████████████████████████████████████████████████| 5000/5000 [00:01<00:00, 2554.43it/s] (diminishing returns, saturated the GPU)
Ağırlıklı olarak yavaşlamaya yol açan bir örnek:
class MyDataset(Dataset):
def __len__(self):
return 5000
def __getitem__(self, i):
if i % 64 == 0:
n = 100
else:
n = 1
return "This is a test" * nBu, diğerlerine kıyasla ara sıra çok uzun bir cümledir. Bu durumda, tüm parti 400 token uzunluğunda olmalıdır, bu da tüm partinin [64, 4] yerine [64, 400] olmasına ve yüksek yavaşlamaya yol açar. Daha da kötüsü, daha büyük partilerde program doğrudan çöker.
------------------------------
Streaming no batching
100%|█████████████████████████████████████████████████████████████████████| 1000/1000 [00:05<00:00, 183.69it/s]
------------------------------
Streaming batch_size=8
100%|█████████████████████████████████████████████████████████████████████| 1000/1000 [00:03<00:00, 265.74it/s]
------------------------------
Streaming batch_size=64
100%|██████████████████████████████████████████████████████████████████████| 1000/1000 [00:26<00:00, 37.80it/s]
------------------------------
Streaming batch_size=256
0%| | 0/1000 [00:00<?, ?it/s]
Traceback (most recent call last):
File "/home/nicolas/src/transformers/test.py", line 42, in <module>
for out in tqdm(pipe(dataset, batch_size=256), total=len(dataset)):
....
q = q / math.sqrt(dim_per_head) # (bs, n_heads, q_length, dim_per_head)
RuntimeError: CUDA out of memory. Tried to allocate 376.00 MiB (GPU 0; 3.95 GiB total capacity; 1.72 GiB already allocated; 354.88 MiB free; 2.46 GiB reserved in total by PyTorch)Bu sorun için iyi (genel) çözümler yoktur ve sonuçlar, kullanım senaryonuza göre değişebilir. Genel kural:
Kullanıcılar için genel bir kural şudur:
Performansı, kendi yükünüzde ve kendi donanımınızda ölçün. Ölçün, ölçün ve ölçmeye devam edin. Gerçek sayılar, tek geçerli yoldur.
Gecikme kısıtlıysanız (çevrimiçi ürün çıkarım yapıyorsa), toplu işlem (batch) kullanmayın.
CPU kullanıyorsanız, toplu işlem (batch) yapmayın.
Eğer throughput kullanıyorsanız (modelinizi bir dizi statik veri üzerinde çalıştırmak istiyorsanız) ve GPU üzerinde çalıştırıyorsanız:
- (“doğal”) verinin boyutu hakkında hiçbir fikriniz yoksa, varsayılan olarak toplu işlem (batch) yapmayın, ölçüm yapın ve deneysel olarak eklemeye çalışın; başarısız olduğunda kurtulmak için OOM kontrolleri ekleyin (eğer ’i kontrol etmezseniz, bir noktada başarısız olacaktır.)
- Eğer sequence_length değeriniz çok düzenliyse, batchleme işlemi çok daha ilgi çekici hale gelebilir; OOM hataları alana kadar ölçüm yapın ve değeri artırın.
- GPU ne kadar büyükse, toplu işlemenin (batching) o kadar daha ilgi çekici olma olasılığı o kadar yüksek olur
Batching'i etkinleştirir etkinleştirmeyin, OOM'leri (bellek taşması) düzgün bir şekilde ele alabildiğinizden emin olun.
Pipeline parça toplu işleme
zero-shot-classification ve question-answering, tek bir girdinin modelin birden fazla ileri geçişine yol açabilmesi açısından biraz özeldir. Normal koşullarda bu durum, batch_size argümanıyla ilgili sorunlara yol açardı.
Bu sorunu aşmak için bu iki hattın da biraz özel olduğu görülür; bunlar normal Pipeline yerine ChunkPipeline'tır. Kısaca:
preprocessed = pipe.preprocess(inputs) model_outputs = pipe.forward(preprocessed) outputs = pipe.postprocess(model_outputs)
Şimdi şu hale gelir:
all_model_outputs = []
for preprocessed in pipe.preprocess(inputs):
model_outputs = pipe.forward(preprocessed)
all_model_outputs.append(model_outputs)
outputs = pipe.postprocess(all_model_outputs)Bu, boru hatlarının aynı şekilde kullanıldığı için kodunuz için çok şeffaf olmalıdır.
Bu, basitleştirilmiş bir görünümdür, çünkü pipeline toplu işlemi (batch) sizin için otomatik olarak işler! Bu, girdilerinizin aslında kaç ileri geçiş (forward pass) tetikleyeceğini düşünmenize gerek olmadığı, girdilerden bağımsız olarak batch_size değerini optimize edebileceğiniz anlamına gelir. Önceki bölümdeki uyarılar hâlâ geçerlidir.
Pipeline FP16 çıkarım
Modeller, GPU üzerinde bellek tasarrufu sağlarken önemli ölçüde daha hızlı çalışabilecekleri FP16'da çalıştırılabilir. Çoğu model bundan kaynaklanan performans kaybından belirgin şekilde etkilenmez. Model ne kadar büyükse, bu durumun o kadar az olma olasılığı vardır.
FP16 çıkarımını etkinleştirmek için, pipeline oluşturucusuna dtype=torch.float16 veya dtype='float16' parametresini iletmek yeterlidir. Bunun yalnızca PyTorch altyapısına sahip modellerde çalıştığını unutmayın. Girdileriniz içsel olarak FP16'ya dönüştürülür.
Pipeline özel kodu
Belirli bir pipeline'i geçersiz kılmak istiyorsanız.
Elinizdeki görev için bir sorun (issue) oluşturmaktan çekinmeyin; pipeline'ın amacı kullanımı kolay olması ve çoğu durumu desteklemesidir, bu nedenle transformers kullanım senaryonuzu destekleyebilir.
Sadece denemek istiyorsanız:
- Tercih ettiğiniz hattı alt sınıflandırın
class MyPipeline(TextClassificationPipeline):
def postprocess():
# Your code goes here
scores = scores * 100
# And here
my_pipeline = MyPipeline(model=model, tokenizer=tokenizer, ...)
# or if you use *pipeline* function, then:
my_pipeline = pipeline(model="xxxx", pipeline_class=MyPipeline)Bu, istediğiniz tüm özel kodu yazmanızı sağlar.
Bir pipeline uygulaması
Ses
Ses görevleri için kullanılabilir olanlar şunlardır.
AudioClassificationPipeline
sınıf transformers.AudioClassificationPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- feature_extractor (SequenceFeatureExtractor) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı özellik çıkarıcı (feature extractor). Bu nesne SequenceFeatureExtractor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Herhangi bir AutoModelForAudioClassification ile ses sınıflandırma hattı. Bu hat, ham bir dalga formunun veya ses dosyasının sınıfını tahmin eder. Ses dosyası durumunda, birden fazla ses formatını desteklemek için ffmpeg kurulu olmalıdır.
Örnek:
>>> from transformers import pipeline
>>> classifier = pipeline(model="superb/wav2vec2-base-superb-ks")
>>> classifier("https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/1.flac")
[{'score': 0.997, 'label': '_unknown_'}, {'score': 0.002, 'label': 'left'}, {'score': 0.0, 'label': 'yes'}, {'score': 0.0, 'label': 'down'}, {'score': 0.0, 'label': 'stop'}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu pipeline şu anda "audio-classification" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( inputs: numpy.ndarray | bytes | str | dict**kwargs: Any ) → A list of dict with the following keys
Parametreler
- inputs (
np.ndarrayveyabytesveyastrveyadict) — inputs şu seçeneklerden biridir:- Ses dosyasının dosya adını içeren
str, dosya ffmpeg kullanılarak doğru örneklem hızında okunur ve dalga formu elde edilir. Bunun için sisteme ffmpeg kurulu olmalıdır. bytes, bir ses dosyasının içeriği olması beklenir ve ffmpeg tarafından aynı şekilde yorumlanır.- (
np.ndarray, şekli (n, ), tipinp.float32veyanp.float64) Doğru örneklem hızına sahip ham ses (ek bir kontrol yapılmayacaktır) dictbiçimi, keyfisampling_rateile örneklenmiş ham ses verisini iletmek ve yeniden örneklemeyi bu hattın yapmasını sağlamak için kullanılabilir. Sözlük,{"sampling_rate": int, "raw": np.array}ya da{"sampling_rate": int, "array": np.array}biçiminde olmalı ve ham ses dalgası formunu belirtmek için"raw"veya"array"anahtarı kullanılmalıdır.
- Ses dosyasının dosya adını içeren
- top_k (
int, isteğe bağlı, varsayılan değeri None) — Pipeline tarafından döndürülecek en üst etiket sayısı. Sağlanan sayıNoneise veya model yapılandırmasında mevcut etiket sayısından yüksekse, varsayılan olarak etiket sayısına ayarlanır. - function_to_apply (
str, isteğe bağlı, varsayılan “softmax”) — Model çıktısına uygulanacak işlev. Varsayılan olarak, pipeline modelin çıktısına softmax işlevini uygular. Geçerli seçenekler: [“softmax”, “sigmoid”, “none”]. Python’ın yerleşikNonedeğerini iletmenin “softmax” varsayılanına dönüştüğünü, herhangi bir son işlemi devre dışı bırakmak için “none” dizgesini iletmeniz gerektiğini unutmayın.
Dönüş değeri
Aşağıdaki anahtarlara sahip dict nesnelerinin bir listesi
- etiket (
str) — Tahmin edilen etiket. - score (
float) — İlgili olasılık.
Girdi olarak verilen dizileri sınıflandırın. Daha fazla bilgi için AutomaticSpeechRecognitionPipeline belgelendirmesine bakın.
AutomaticSpeechRecognitionPipeline
sınıf transformers.AutomaticSpeechRecognitionPipeline
< source >( model: PreTrainedModelfeature_extractor: typing.Union[ForwardRef('SequenceFeatureExtractor'), str, NoneType] = Nonetokenizer: transformers.tokenization_python.PythonBackend | None = Nonedecoder: typing.Union[ForwardRef('BeamSearchDecoderCTC'), str, NoneType] = Nonedevice: typing.Union[int, ForwardRef('torch.device'), NoneType] = None**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- feature_extractor (SequenceFeatureExtractor, isteğe bağlı) — Hattın (pipeline), model için dalga formunu kodlamak (encode) için kullanacağı özellik çıkarıcı (feature extractor).
- tokenizer (PreTrainedTokenizer, opsiyonel) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- decoder (
pyctcdecode.BeamSearchDecoderCTC, isteğe bağlı) — PyCTCDecode’un BeamSearchDecoderCTC bileşeni, dil modeli destekli çözümleme için geçirilebilir. Daha fazla bilgi için Wav2Vec2ProcessorWithLM sınıfına bakın. - device (Union[
int,torch.device], isteğe bağlı) — CPU/GPU destekleri için cihaz numarası. Bu değeriNoneolarak ayarlamak CPU'yu kullanır, pozitif bir değer modeli ilgili CUDA cihaz kimliğinde çalıştırır.
Bazı ses dosyalarında yer alan konuşma metnini çıkarmayı amaçlayan bir Pipeline.
Girdi, ham bir dalga formu veya bir ses dosyası olabilir. Ses dosyası durumunda, birden fazla ses formatını desteklemek için ffmpeg'in kurulu olması gerekir
Kullandığınız model bu üretim parametrelerini yapılandırma dosyalarında (generation_config.json) açıkça belirtmediği sürece, aşağıdaki varsayılan değerler kullanılacaktır:
- max_new_tokens: 256
- num_beams: 5
Örnek:
>>> from transformers import pipeline
>>> transcriber = pipeline(model="openai/whisper-base")
>>> transcriber("https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/1.flac")
{'text': ' He hoped there would be stew for dinner, turnips and carrots and bruised potatoes and fat mutton pieces to be ladled out in thick, peppered flour-fatten sauce.'}Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
__call__
< source >( inputs: numpy.ndarray | bytes | str | dict**kwargs: Any ) → Dict
Parametreler
- inputs (
np.ndarrayveyabytesveyastrveyadict) — inputs şu seçeneklerden biridir:- Yerel bir ses dosyasının dosya adı veya ses dosyasını indirmek için herkese açık bir URL adresi olan
str. Dosya, ffmpeg kullanılarak doğru örneklem hızında okunur ve dalga formu elde edilir. Bunun için sisteme ffmpeg kurulu olmalıdır. bytes, bir ses dosyasının içeriği olması beklenir ve ffmpeg tarafından aynı şekilde yorumlanır.- (
np.ndarray, şekli (n, ), tipinp.float32veyanp.float64) Doğru örneklem hızına sahip ham ses (ek bir kontrol yapılmayacaktır) dictbiçimi, sesin rastgele birsampling_rateile örneklenmiş ham verisini iletmek ve yeniden örnekleme işlemini bu hattın yapmasını sağlamak için kullanılabilir. Sözlük, isteğe bağlı olarak"stride": (left: int, right: int)içeren{"sampling_rate": int, "raw": np.array}biçiminde olmalıdır; bu alan, hattın çözümlenirken ilkleftve sonrightörneklerin yok sayılmasını (ancak çıkarım sırasında modele daha fazla bağlam sağlamak için kullanılmasını) isteyebilir.strideyalnızca CTC modelleriyle kullanın.
- Yerel bir ses dosyasının dosya adı veya ses dosyasını indirmek için herkese açık bir URL adresi olan
- return_timestamps (isteğe bağlı,
strveyabool) — Yalnızca saf CTC modelleri (Wav2Vec2, HuBERT vb.) ve Whisper modeli için kullanılabilir. Diğer diziden-diziye (sequence-to-sequence) modeller için kullanılamaz.CTC modelleri için zaman damgaları iki formattan birini alabilir:
"char": pipeline, metindeki her karakter için metinle birlikte zaman damgalarını döndürür. Örneğin[{"text": "h", "timestamp": (0.5, 0.6)}, {"text": "i", "timestamp": (0.7, 0.9)}]alırsanız, bu, modelin “h” harfinin0.5saniyeden sonra ve0.6saniyeden önce söylendiğini öngördüğü anlamına gelir."word": pipeline, metindeki her kelime için metinle birlikte zaman damgalarını döndürür. Örneğin[{"text": "hi ", "timestamp": (0.5, 0.9)}, {"text": "there", "timestamp": (1.0, 1.5)}]alırsanız, bu, modelin “hi” kelimesinin0.5saniyeden sonra ve0.9saniyeden önce söylendiğini öngördüğü anlamına gelir.
Whisper modeli için zaman damgaları iki formattan birini alabilir:
"word": kelime düzeyi CTC zaman damgaları için yukarıdakiyle aynı. Kelime düzeyi zaman damgaları, çapraz dikkat ağırlıklarını inceleyerek kelime düzeyi zaman damgalarının bir yaklaşımı olan dynamic-time warping (DTW) algoritması aracılığıyla tahmin edilir.True: pipeline, metindeki segmentler için metinle birlikte zaman damgalarını döndürür. Örneğin,[{"text": " Hi there!", "timestamp": (0.5, 1.5)}]alırsanız, bu, modelin “Hi there!” segmentinin0.5saniyeden sonra ve1.5saniyeden önce söylendiğini öngördüğü anlamına gelir. Bir metin segmentinin, kelime düzeyindeki zaman damgalarındaki gibi tekil kelimeler yerine bir veya daha fazla kelime dizisini ifade ettiğini unutmayın.
- generate_kwargs (
dict, isteğe bağlı) — Üretim çağrısında kullanılacakgenerate_configiçin geçici parametrelendirme sözlüğü. generate hakkında tam bir genel bakış için şu kılavuza bakın.
Dönüş değeri
Dict
Aşağıdaki anahtarlara sahip bir sözlük:
- text (
str): Tanınan metin. - chunks (isteğe bağlı,
list[Dict])return_timestampskullanıldığında,chunksmodelin belirlediği çeşitli metin parçalarını içeren bir listeye dönüşür, ör.[{"text": "hi ", "timestamp": (0.5, 0.9)}, {"text": "there", "timestamp": (1.0, 1.5)}]. Orijinal tam metin,"".join(chunk["text"] for chunk in output["chunks"])işlemini yaparak yaklaşık olarak geri kazanılabilir.
Girdi olarak verilen ses dizilerini metne dönüştürür. Daha fazla bilgi için AutomaticSpeechRecognitionPipeline belgelendirmesine bakın.
TextToAudioPipeline
sınıf transformers.TextToAudioPipeline
< source >( *argsvocoder = Nonesampling_rate = Nonenoise_scheduler = None**kwargs )
Herhangi bir AutoModelForTextToWaveform veya AutoModelForTextToSpectrogram kullanarak metinden ses üretme hattı. Bu hat, girdi metninden ve isteğe bağlı diğer koşullu girdilerden bir ses dosyası üretir.
Kullandığınız model generation_config.json dosyasında üretim parametrelerini açıkça belirtmiyorsa, generation.configuration_utils.py._get_default_generation_params() içindeki varsayılan değerler kullanılacaktır.
- max_new_tokens: 256
Örnek:
>>> from transformers import pipeline
>>> pipe = pipeline(model="suno/bark-small")
>>> output = pipe("Hey it's HuggingFace on the phone!")
>>> audio = output["audio"]
>>> sampling_rate = output["sampling_rate"]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Modeline geçirilen parametreleri
TextToAudioPipeline.__call__.forward_paramsveyaTextToAudioPipeline.__call__.generate_kwargskullanarak belirleyebilirsiniz.Örnek:
>>> from transformers import pipeline >>> music_generator = pipeline(task="text-to-audio", model="facebook/musicgen-small") >>> # diversify the music generation by adding randomness with a high temperature and set a maximum music length >>> generate_kwargs = { ... "do_sample": True, ... "temperature": 0.7, ... "max_new_tokens": 35, ... } >>> outputs = music_generator("Techno music with high melodic riffs", generate_kwargs=generate_kwargs)
Bu pipeline şu anda pipeline() üzerinden aşağıdaki görev tanımlayıcıları kullanılarak yüklenebilir: "text-to-speech" veya "text-to-audio".
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( text_inputs**forward_params ) → AudioOutput or a list of AudioOutput, which is a TypedDict with two keys
Parametreler
- text_inputs (
str,list[str],ChatTypeveyalist[ChatType]) — Üretilecek bir veya birden fazla metin. String veya string listesi geçirilirse, bu pipeline ilgili metni üretir. Alternatif olarak, “role” ve “content” anahtarlarına sahip dict'lerden oluşan bir listenin biçimindeki bir “chat” veya bu tür chat'lerin bir listesi geçirilebilir. Chat'ler geçirildiğinde, modelin chat şablonu, modeline geçirmeden önce bunları biçimlendirmek için kullanılır. - forward_params (
dict, isteğe bağlı) — Modelin üretim/forward yöntemine aktarılan parametreler.forward_paramsher zaman alttaki modele aktarılır. - generate_kwargs (
dict, isteğe bağlı) — Üretim çağrısında kullanılacakgenerate_configiçin ad-hoc parametrelendirme sözlüğü. generate hakkında tam bir genel bakış için şu kılavuza bakın.generate_kwargsyalnızca alttaki model üretken bir modelse ona iletilir veforward_paramsüzerinde önceliğe sahiptir.
Dönüş değeri
AudioOutput veya AudioOutput listesinden oluşan, iki anahtara sahip bir TypedDict
- ses (
np.ndarray, şekli(nb_channels, audio_length)) — Üretilen ses dalgası. - sampling_rate (
int) — Üretilen ses dalgasının örneklem hızı.
Girdilerden konuşma/ses üretir. Daha fazla bilgi için TextToAudioPipeline belgelerine bakın.
ZeroShotAudioClassificationPipeline
sınıf transformers.ZeroShotAudioClassificationPipeline
< source >( **kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- feature_extractor (SequenceFeatureExtractor) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı özellik çıkarıcı (feature extractor). Bu nesne SequenceFeatureExtractor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
ClapModel kullanılarak sıfır atışlı ses sınıflandırma hattı. Bu hat, bir ses ve bir candidate_labels kümesi sağladığınızda sesin sınıfını tahmin eder.
Varsayılan
hypothesis_templateşudur:"This is a sound of {}.". Kullanımınıza göre bunu güncellediğinizden emin olun.
Örnek:
>>> from transformers import pipeline
>>> from datasets import load_dataset
>>> dataset = load_dataset("ashraq/esc50")
>>> audio = next(iter(dataset["train"]["audio"]))["array"]
>>> classifier = pipeline(task="zero-shot-audio-classification", model="laion/clap-htsat-unfused")
>>> classifier(audio, candidate_labels=["Sound of a dog", "Sound of vacuum cleaner"])
[{'score': 0.9996, 'label': 'Sound of a dog'}, {'score': 0.0004, 'label': 'Sound of vacuum cleaner'}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın. Bu ses sınıflandırma pipeline'ı şu anda pipeline() üzerinden aşağıdaki görev tanımlayıcısı kullanılarak yüklenebilir: "zero-shot-audio-classification". Kullanılabilir modellerin listesini huggingface.co/models adresinde bulabilirsiniz.
__call__
< source >( audios: numpy.ndarray | bytes | str | dict**kwargs: Any )
Parametreler
- audios (
str,list[str],np.arrayveyalist[np.array]) — Pipeline üç tür girdiyi işler:- Ses dosyasına işaret eden bir http bağlantısı içeren bir dize
- Ses dosyasına yerel bir yol içeren bir dize
- Numpy'de yüklenen bir ses
- candidate_labels (
list[str]) — Bu ses için aday etiketler. hypothesis_template kullanılarak biçimlendirileceklerdir. - hypothesis_template (
str, isteğe bağlı, varsayılan"This is a sound of {}") — candidate_labels ile birlikte, yer tutucuyu candidate_labels ile değiştirerek ses sınıflandırmasını denemek için kullanılan biçim. candidate_labels zaten biçimlendirilmişse ”{}” geçirin.
Girdi olarak geçirilen seslere etiketler atayın.
Bilgisayarla görü
Bilgisayar görüsü görevleri için kullanılabilir olanlar şunlardır.
DepthEstimationPipeline
sınıf transformers.DepthEstimationPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Herhangi bir AutoModelForDepthEstimation kullanarak derinlik tahmini hattı. Bu hat, bir görüntünün derinliğini tahmin eder.
Örnek:
>>> from transformers import pipeline
>>> depth_estimator = pipeline(task="depth-estimation", model="LiheYoung/depth-anything-base-hf")
>>> output = depth_estimator("http://images.cocodataset.org/val2017/000000039769.jpg")
>>> # This is a tensor with the values being the depth expressed in meters for each pixel
>>> output["predicted_depth"].shape
torch.Size([1, 384, 384])Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu derinlik tahmini hattı şu anda "depth-estimation" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( inputs: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]**kwargs: Any )
Parametreler
- inputs (
str,list[str],PIL.Imageveyalist[PIL.Image]) — Pipeline üç tür görsel işler:- Bir görseli işaret eden http bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü ya da bir görüntü grubu kabul eder; bunlar bir dize olarak geçirilmelidir. Bir gruptaki görüntülerin hepsi aynı biçimde olmalıdır: hepsi http bağlantısı, hepsi yerel yol ya da hepsi PIL görüntüsü.
- parameters (
Dict, isteğe bağlı) — Hata ayıklama davranışını kontrol etmek için argüman adlarından parametre değerlerine giden bir sözlük. Şu anda kullanılabilir tek parametre, bir görüntünün indirilmesini denemeyi bırakmadan önce hattın (pipeline) kaç saniye bekleyeceğini belirleyentimeout'tur. - timeout (
float, isteğe bağlı, varsayılan None) — Web'den görüntüleri almak için beklenecek maksimum süre (saniye cinsinden). None ise zaman aşımı ayarlanmaz ve çağrı sonsuza kadar bloklanabilir.
Girdi olarak geçirilen görüntü(ler)in derinlik(ler)ini tahmin edin.
ImageClassificationPipeline
sınıf transformers.ImageClassificationPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak. - function_to_apply (
str, isteğe bağlı, varsayılan olarak"default") — Skorları almak için model çıktısına uygulanacak işlev. Dört farklı değeri kabul eder:"default": modelin tek bir etiketi varsa, çıktıya sigmoid fonksiyonu uygulanır. Modelin birden fazla etiketi varsa, çıktıya softmax fonksiyonu uygulanır."sigmoid": Çıktı üzerinde sigmoid fonksiyonunu uygular."softmax": Çıktı üzerinde softmax fonksiyonunu uygular."none": Çıktı üzerinde herhangi bir fonksiyon uygulamaz.
Herhangi bir AutoModelForImageClassification ile görüntü sınıflandırma hattı. Bu hat, bir görüntünün sınıfını tahmin eder.
Örnek:
>>> from transformers import pipeline
>>> classifier = pipeline(model="microsoft/beit-base-patch16-224-pt22k-ft22k")
>>> classifier("https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png")
[{'score': 0.442, 'label': 'macaw'}, {'score': 0.088, 'label': 'popinjay'}, {'score': 0.075, 'label': 'parrot'}, {'score': 0.073, 'label': 'parodist, lampooner'}, {'score': 0.046, 'label': 'poll, poll_parrot'}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu görüntü sınıflandırma hattı şu anda "image-classification" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( inputs: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]**kwargs: Any )
Parametreler
- inputs (
str,list[str],PIL.Imageveyalist[PIL.Image]) — Pipeline üç tür görsel işler:- Bir görseli işaret eden http bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü ya da bir görüntü grubu kabul eder; bunlar bir dize olarak geçirilmelidir. Bir gruptaki görüntülerin hepsi aynı biçimde olmalıdır: hepsi http bağlantısı, hepsi yerel yol ya da hepsi PIL görüntüsü.
- function_to_apply (
str, isteğe bağlı, varsayılan olarak"default") — Skorları almak için model çıktısına uygulanacak işlev. Dört farklı değeri kabul eder:Bu argüman belirtilmezse, etiket sayısına göre aşağıdaki işlevler uygulanır:
- Modelin tek bir etiketi varsa, çıktı üzerinde sigmoid fonksiyonu uygulanır.
- Modelin birden fazla etiketi varsa, çıktı üzerinde softmax fonksiyonu uygulanır.
Olası değerler şunlardır:
"sigmoid": Çıktı üzerinde sigmoid fonksiyonunu uygular."softmax": Çıktı üzerinde softmax fonksiyonunu uygular."none": Çıktı üzerinde herhangi bir fonksiyon uygulamaz.
- top_k (
int, isteğe bağlı, varsayılan 5) — Pipeline tarafından döndürülecek en üst etiket sayısı. Sağlanan sayı, model yapılandırmasında kullanılabilir etiket sayısından yüksekse, varsayılan olarak etiket sayısına ayarlanır. - timeout (
float, isteğe bağlı, varsayılan None) — Web'den görüntüleri almak için beklenecek maksimum süre (saniye cinsinden). None ise zaman aşımı ayarlanmaz ve çağrı sonsuza kadar bloklanabilir.
Girdi olarak geçirilen görüntü(lere) etiketler atayın.
ImageSegmentationPipeline
sınıf transformers.ImageSegmentationPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Herhangi bir AutoModelForXXXSegmentation kullanarak görüntü segmentasyonu hattı. Bu hat, nesnelerin maskelerini ve sınıflarını tahmin eder.
Örnek:
>>> from transformers import pipeline
>>> segmenter = pipeline(model="facebook/detr-resnet-50-panoptic")
>>> segments = segmenter("https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png")
>>> len(segments)
2
>>> segments[0]["label"]
'bird'
>>> segments[1]["label"]
'bird'
>>> type(segments[0]["mask"]) # This is a black and white mask showing where is the bird on the original image.
<class 'PIL.Image.Image'>
>>> segments[0]["mask"].size
(768, 512)Bu görüntü segmentasyonu hattı şu anda "image-segmentation" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( inputs: typing.Union[str, ForwardRef('Image.Image'), list[str], list['Image.Image']]**kwargs: Any )
Parametreler
- inputs (
str,list[str],PIL.Imageveyalist[PIL.Image]) — Pipeline üç tür görsel işler:- Bir görüntüye işaret eden HTTP(S) bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü veya bir görüntü grubu kabul eder. Bir gruptaki görüntülerin hepsi aynı formatta olmalıdır: hepsi HTTP(S) bağlantıları, hepsi yerel yollar veya hepsi PIL görüntüleri olarak.
- subtask (
str, isteğe bağlı) — Yapılacak segmentasyon görevi, model yeteneklerine göre [semantic,instancevepanoptic] seçeneklerinden birini seçin. Ayarlanmazsa, pipeline aşağıdaki sırayla çözmeye çalışacaktır:panoptic,instance,semantic. - threshold (
float, isteğe bağlı, varsayılan 0.9) — Tahmin edilen maskeleri filtrelemek için olasılık eşiği. - mask_threshold (
float, isteğe bağlı, varsayılan 0.5) — Tahmin edilen maskelerin ikili değerlere dönüştürülürken kullanılacak eşik. - overlap_mask_area_threshold (
float, isteğe bağlı, varsayılan 0.5) — Küçük, bağlantısız segmentleri elemek için maske örtüşme eşiği. - timeout (
float, isteğe bağlı, varsayılan None) — Web'den görüntüleri almak için beklenecek maksimum süre (saniye cinsinden). None ise zaman aşımı ayarlanmaz ve çağrı sonsuza kadar bloklanabilir.
Girdi olarak geçirilen görüntü(ler)de segmentasyon (maskelerin ve sınıfların algılanması) gerçekleştirin.
KeypointMatchingPipeline
Herhangi bir AutoModelForKeypointMatching kullanılarak anahtar nokta eşleştirme hattı. Bu hat, iki görüntü arasındaki anahtar noktaları eşleştirir.
__call__
< source >( inputs: list[collections.abc.Sequence[typing.Union[ForwardRef('Image.Image'), str]]] | collections.abc.Sequence[typing.Union[ForwardRef('Image.Image'), str]]threshold: float = 0.0**kwargs: Any ) → Union[list[Match], list[list[Match]]]
Parametreler
- inputs (
str,list[str],PIL.Imageveyalist[PIL.Image]) — Pipeline üç tür görsel işler:- Bir görseli işaret eden http bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü çifti ya da görüntü çiftlerinden oluşan bir parti kabul eder; bu durumda parametreler bir dize olarak geçirilmelidir. Partideki görüntülerin hepsi aynı biçimde olmalıdır: hepsi http bağlantısı, hepsi yerel yol ya da hepsi PIL görüntüsü.
- threshold (
float, isteğe bağlı, varsayılan 0.0) — Anahtar nokta eşleştirmesi için kullanılacak eşik. Daha düşük bir eşleşme puanıyla eşleşen anahtar noktalar filtrelenir. 0 değeri, eşleşen tüm anahtar noktaların döndürüleceği anlamına gelir. - kwargs —
timeout (float, *optional*, defaults to None)The maximum time in seconds to wait for fetching images from the web. If None, no timeout is set and the call may block forever.
Dönüş değeri
Union[list[Match], list[list[Match]]]
Eşleşmelerin listesi veya tek bir görüntü çifti sağlanırsa bir liste, görüntü çiftleri bir partisi sağlanırsa eşleşme listelerinin listesi. Her eşleşme, aşağıdaki anahtarları içeren bir sözlüktür:
- keypoint_image_0 (
Keypoint): İlk görüntüdeki anahtar nokta (x, y koordinatları). - keypoint_image_1 (
Keypoint): İkinci görüntüdeki anahtar nokta (x, y koordinatları). - score (
float): İki anahtar nokta arasındaki eşleşme puanı.
İki görüntüdeki anahtar noktalar arasında eşleşmeleri bulun.
ObjectDetectionPipeline
sınıf transformers.ObjectDetectionPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Herhangi bir AutoModelForObjectDetection ile nesne algılama hattı. Bu hat, nesnelerin sınırlayıcı kutularını ve sınıflarını tahmin eder.
Örnek:
>>> from transformers import pipeline
>>> detector = pipeline(model="facebook/detr-resnet-50")
>>> detector("https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png")
[{'score': 0.997, 'label': 'bird', 'box': {'xmin': 69, 'ymin': 171, 'xmax': 396, 'ymax': 507}}, {'score': 0.999, 'label': 'bird', 'box': {'xmin': 398, 'ymin': 105, 'xmax': 767, 'ymax': 507}}]
>>> # x, y are expressed relative to the top left hand corner.Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu nesne algılama hattı şu anda "object-detection" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( *args**kwargs )
Parametreler
- inputs (
str,list[str],PIL.Imageveyalist[PIL.Image]) — Pipeline üç tür görsel işler:- Bir görüntüye işaret eden HTTP(S) bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü veya bir görüntü grubu kabul eder. Bir gruptaki görüntülerin hepsi aynı formatta olmalıdır: hepsi HTTP(S) bağlantıları, hepsi yerel yollar veya hepsi PIL görüntüleri olarak.
- threshold (
float, isteğe bağlı, varsayılan 0.5) — Bir tahmin yapılması için gerekli olasılık. - timeout (
float, isteğe bağlı, varsayılan None) — Web'den görüntüleri almak için beklenecek maksimum süre (saniye cinsinden). None ise zaman aşımı ayarlanmaz ve çağrı sonsuza kadar bloklanabilir.
Girdi olarak geçirilen görüntü(ler)deki nesneleri (sınırlayıcı kutular & sınıflar) algılar.
VideoClassificationPipeline
sınıf transformers.VideoClassificationPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- video_processor (BaseVideoProcessor) — Hattın (pipeline), model için video verilerini kodlamak için kullanacağı video işleyici. Bu nesne BaseVideoProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Herhangi bir AutoModelForVideoClassification ile video sınıflandırma hattı. Bu hat, bir videonun sınıfını tahmin eder.
Bu video sınıflandırma hattı şu anda "video-classification" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
Pipeline, bir görüntü işleyici (VideoMAE, ViViT ve TimeSformer gibi eski video modelleri) veya bir video işleyici (VJEPA2 gibi daha yeni modeller) kullanan modelleri destekler. Her ikisi de mevcut olduğunda video işleyici önceliklidir; hiçbiri bulunamadığında pipeline bir hata fırlatır.
__call__
< source >( inputs: str | list[str] | None**kwargs )
Parametreler
- inputs (
str,list[str]) — Pipeline üç tür videoyu işler:- Bir videoya işaret eden bir http bağlantısı içeren bir dize
- Bir videoya yerel bir yol içeren bir dize
Pipeline, tek bir video ya da bir video grubu kabul eder; bunlar bir dize olarak geçirilmelidir. Bir gruptaki tüm videolar aynı biçimde olmalıdır: hepsi http bağlantısı ya da hepsi yerel yol olarak.
- top_k (
int, isteğe bağlı, varsayılan 5) — Pipeline tarafından döndürülecek en üst etiket sayısı. Sağlanan sayı, model yapılandırmasında kullanılabilir etiket sayısından yüksekse, varsayılan olarak etiket sayısına ayarlanır. - num_frames (
int, isteğe bağlı, varsayılanself.model.config.num_frames) — Sınıflandırmanın çalıştırılacağı videodan örneklenen kare sayısı. Belirtilmezse, model yapılandırmasında belirtilen kare sayısına varsayılan olarak ayarlanır. - frame_sampling_rate (
int, isteğe bağlı, varsayılan 1) — Videodan kare seçmek için kullanılan örneklem hızı. Verilmezse, varsayılan olarak 1 kullanılır, yani her kare kullanılır. - function_to_apply(
str, optional, varsayılan “softmax”) — Model çıktısına uygulanacak işlev. Varsayılan olarak, pipeline modelin çıktısına softmax işlevini uygular. Geçerli seçenekler: [“softmax”, “sigmoid”, “none”]. Python’ın yerleşikNonedeğerini iletmenin “softmax” varsayılanına dönüştüğünü, herhangi bir son işlemi devre dışı bırakmak için “none” dizesini iletmeniz gerektiğini unutmayın.
Girdi olarak geçirilen video(lar)a etiketler atayın.
ZeroShotImageClassificationPipeline
sınıf transformers.ZeroShotImageClassificationPipeline
< source >( **kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
CLIPModel kullanılarak sıfır atışlı (zero-shot) görüntü sınıflandırma hattı. Bu hat, bir görüntü ve bir candidate_labels kümesi sağladığınızda görüntünün sınıfını tahmin eder.
Örnek:
>>> from transformers import pipeline
>>> classifier = pipeline(model="google/siglip-so400m-patch14-384")
>>> classifier(
... "https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png",
... candidate_labels=["animals", "humans", "landscape"],
... )
[{'score': 0.965, 'label': 'animals'}, {'score': 0.03, 'label': 'humans'}, {'score': 0.005, 'label': 'landscape'}]
>>> classifier(
... "https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png",
... candidate_labels=["black and white", "photorealist", "painting"],
... )
[{'score': 0.996, 'label': 'black and white'}, {'score': 0.003, 'label': 'photorealist'}, {'score': 0.0, 'label': 'painting'}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu görüntü sınıflandırma hattı şu anda pipeline() üzerinden aşağıdaki görev tanımlayıcısı kullanılarak yüklenebilir: "zero-shot-image-classification".
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( image: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]candidate_labels: list**kwargs: Any )
Parametreler
- image (
str,list[str],PIL.Imageveyalist[PIL.Image]) — Pipeline üç tür görüntüyle çalışır:- Bir görseli işaret eden http bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
- candidate_labels (
list[str]) — Bu görüntü için aday etiketler. hypothesis_template kullanılarak biçimlendirileceklerdir. - hypothesis_template (
str, isteğe bağlı, varsayılan"This is a photo of {}") — Görsel sınıflandırmayı denemek için candidate_labels ile birlikte kullanılan biçimdir; yer tutucu, candidate_labels ile değiştirilir. candidate_labels zaten biçimlendirilmişse ”{}” geçirin. - timeout (
float, isteğe bağlı, varsayılan None) — Web'den görüntüleri almak için beklenecek maksimum süre (saniye cinsinden). None ise zaman aşımı ayarlanmaz ve çağrı sonsuza kadar bloklanabilir.
Girdi olarak geçirilen görüntü(lere) etiketler atayın.
ZeroShotObjectDetectionPipeline
sınıf transformers.ZeroShotObjectDetectionPipeline
< source >( **kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
OwlViTForObjectDetection kullanan sıfır atış nesne algılama hattı. Bu hat, bir görüntü ve bir candidate_labels kümesi sağladığınızda nesnelerin sınırlayıcı kutularını tahmin eder.
Örnek:
>>> from transformers import pipeline
>>> detector = pipeline(model="google/owlvit-base-patch32", task="zero-shot-object-detection")
>>> detector(
... "http://images.cocodataset.org/val2017/000000039769.jpg",
... candidate_labels=["cat", "couch"],
... )
[{'score': 0.287, 'label': 'cat', 'box': {'xmin': 324, 'ymin': 20, 'xmax': 640, 'ymax': 373}}, {'score': 0.254, 'label': 'cat', 'box': {'xmin': 1, 'ymin': 55, 'xmax': 315, 'ymax': 472}}, {'score': 0.121, 'label': 'couch', 'box': {'xmin': 4, 'ymin': 0, 'xmax': 642, 'ymax': 476}}]
>>> detector(
... "https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png",
... candidate_labels=["head", "bird"],
... )
[{'score': 0.119, 'label': 'bird', 'box': {'xmin': 71, 'ymin': 170, 'xmax': 410, 'ymax': 508}}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu nesne algılama hattı şu anda "zero-shot-object-detection" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( image: typing.Union[str, ForwardRef('Image.Image'), list[dict[str, typing.Any]]]candidate_labels: str | list[str] | None = None**kwargs: Any )
Parametreler
- image (
str,PIL.Imageveyalist[dict[str, Any]]) — Pipeline üç tür görüntüyle çalışır:- Bir görseli işaret eden bir http url içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Bu parametreyi kullanarak doğrudan bir görsel listesi, bir veri seti veya bir üreteci şu şekilde gönderebilirsiniz:
Girdi olarak geçirilen görüntü(ler)deki nesneleri (sınırlayıcı kutular & sınıflar) algılar.
Doğal Dil İşleme
Doğal dil işleme görevleri için kullanılabilir olanlar şunlardır.
FillMaskPipeline
sınıf transformers.FillMaskPipeline
< source >( model: PreTrainedModeltokenizer: PreTrainedTokenizer | None = Nonefeature_extractor: PreTrainedFeatureExtractor | None = Noneimage_processor: BaseImageProcessor | None = Nonevideo_processor: BaseVideoProcessor | None = Noneprocessor: ProcessorMixin | None = Nonetask: str = ''device: int | torch.device | None = Nonebinary_output: bool = False**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak. - top_k (
int, isteğe bağlı, varsayılan 5) — Döndürülecek tahmin sayısı. - targets (
strveyalist[str], isteğe bağlı) — Geçirildiğinde, model puanları tüm sözlükte arama yapmak yerine verilen hedeflerle sınırlar. Sağlanan hedefler model sözlüğünde yoksa, bunlar tokenize edilir ve ilk oluşan token kullanılır (bir uyarıyla ve bu daha yavaş olabilir). - tokenizer_kwargs (
dict, isteğe bağlı) — Tokenizöre iletilen ek anahtar kelime argümanları sözlüğü.
__call__
< source >( inputs: str | list[str]**kwargs: Any ) → A list or a list of list of dict
Parametreler
- inputs (
strveyalist[str]) — Maskelenmiş token'lar içeren bir veya birden fazla metin (veya bir istem listesi). - targets (
strveyalist[str], isteğe bağlı) — Geçirildiğinde, model puanları tüm sözlükte arama yapmak yerine verilen hedeflerle sınırlar. Sağlanan hedefler model sözlüğünde yoksa, bunlar tokenize edilir ve ilk oluşan token kullanılır (bir uyarıyla ve bu daha yavaş olabilir). - top_k (
int, isteğe bağlı) — Geçirildiğinde, döndürülecek tahmin sayısını geçersiz kılar.
Dönüş değeri
dict listesi veya dict listelerinin listesi
Her sonuç, aşağıdaki anahtarlara sahip sözlüklerden oluşan bir liste olarak gelir:
- sequence (
str) — Mask token tahminiyle eşleşen girdi. - score (
float) — İlgili olasılık. - token (
int) — Tahmin edilen token kimliği (maskelenmiş olanın yerine konulacak). - token_str (
str) — Tahmin edilen token (maskelenmiş olanın yerine konacak).
Girdi olarak verilen metin(ler)deki maskelenmiş token'ı doldurun.
TableQuestionAnsweringPipeline
sınıf transformers.TableQuestionAnsweringPipeline
< source >( args_parser = <transformers.pipelines.table_question_answering.TableQuestionAnsweringArgumentHandler object at 0x7f018ecec050>**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Bir ModelForTableQuestionAnswering kullanarak Tablo Soru Cevaplama hattı. Bu hat yalnızca PyTorch'ta kullanılabilir.
Kullandığınız model bu üretim parametrelerini yapılandırma dosyalarında (generation_config.json) açıkça belirtmediği sürece, aşağıdaki varsayılan değerler kullanılacaktır:
- max_new_tokens: 256
Örnek:
>>> from transformers import pipeline
>>> oracle = pipeline(model="google/tapas-base-finetuned-wtq")
>>> table = {
... "Repository": ["Transformers", "Datasets", "Tokenizers"],
... "Stars": ["36542", "4512", "3934"],
... "Contributors": ["651", "77", "34"],
... "Programming language": ["Python", "Python", "Rust, Python and NodeJS"],
... }
>>> oracle(query="How many stars does the transformers repository have?", table=table)
{'answer': 'AVERAGE > 36542', 'coordinates': [(0, 1)], 'cells': ['36542'], 'aggregator': 'AVERAGE'}Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu tablo soru-cevap hattı şu anda "table-question-answering" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
Bu hattın kullanabileceği modeller, tabular soru-cevap görevinde ince ayarı yapılmış modellerdir. Mevcut kullanılabilir modellerin listesini huggingface.co/models adresinde bulabilirsiniz.
__call__
< source >( *args**kwargs ) → A dictionary or a list of dictionaries containing results
Parametreler
- table (
pd.DataFrameveyaDict) — Tüm tablo değerlerini içeren bir DataFrame'e dönüştürülecek Pandas DataFrame veya sözlük. Sözlük örneği için yukarıya bakın. - query (
strveyalist[str]) — Tablo ile birlikte modele gönderilecek sorgu veya sorgu listesi. - sequential (
bool, isteğe bağlı, varsayılanFalse) — Çıkarımın sıralı olarak mı yoksa bir parti (batch) olarak mı yapılacağı. Partileme daha hızlıdır, ancak SQA gibi modeller, konuşmacı doğaları gereği diziler içindeki ilişkileri çıkarabilmek için çıkarımın sıralı olarak yapılmasını gerektirir. - padding (
bool,strveya PaddingStrategy, isteğe bağlı, varsayılan olarakFalse) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder: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).
- truncation (
bool,strveyaTapasTruncationStrategy, isteğe bağlı, varsayılan olarakFalse) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:Trueveya'drop_rows_to_fit': Satırları,max_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bu işlem satır satır gerçekleştirilir ve tablodan satırlar kaldırılır.Falseveya'do_not_truncate'(varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
Dönüş değeri
Sonuçları içeren bir sözlük veya sözlük listesi
Her sonuç, aşağıdaki anahtarlara sahip bir sözlüktür:
- answer (
str) — Tabloya göre sorgunun cevabı. Bir toplayıcı (aggregator) varsa, cevapAGGREGATOR >ile başlar. - koordinatlar (
list[tuple[int, int]]) — Cevapların hücrelerinin koordinatları. - cells (
list[str]) — Cevap hücre değerlerinden oluşan dize listesi. - aggregator (
str) — Model bir aggregator'a sahipse, bu aggregator'u döndürür.
Sorguları bir tabloya göre yanıtlar. Hattın kabul ettiği ve aşağıda ayrıntıları verilen çeşitli girdi türleri vardır:
pipeline(table, query)pipeline(table, [query])pipeline(table=table, query=query)pipeline(table=table, query=[query])pipeline({"table": table, "query": query})pipeline({"table": table, "query": [query]})pipeline([{"table": table, "query": query}, {"table": table, "query": query}])
table argümanı, tüm tabloyu içeren, o sözlükten oluşturulmuş bir dict veya DataFrame olmalıdır:
Örnek:
data = {
"actors": ["brad pitt", "leonardo di caprio", "george clooney"],
"age": ["56", "45", "59"],
"number of movies": ["87", "53", "69"],
"date of birth": ["7 february 1967", "10 june 1996", "28 november 1967"],
}Bu sözlük olduğu gibi geçirilebilir veya bir pandas DataFrame'e dönüştürülebilir:
TextClassificationPipeline
sınıf transformers.TextClassificationPipeline
< source >( **kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak. - function_to_apply (
str, isteğe bağlı, varsayılan olarak"default") — Skorları almak için model çıktısına uygulanacak işlev. Dört farklı değeri kabul eder:"default": modelin tek bir etiketi varsa, çıktıya sigmoid fonksiyonu uygulanır. Modelin birden fazla etiketi varsa, çıktıya softmax fonksiyonu uygulanır. Geri dönüşüm (regression) görevlerinde ise çıktıya herhangi bir fonksiyon uygulanmaz."sigmoid": Çıktı üzerinde sigmoid fonksiyonunu uygular."softmax": Çıktı üzerinde softmax fonksiyonunu uygular."none": Çıktı üzerinde herhangi bir fonksiyon uygulamaz.
Herhangi bir ModelForSequenceClassification kullanarak metin sınıflandırma hattı. Daha fazla bilgi için dizi sınıflandırma örneklerine bakın.
Örnek:
>>> from transformers import pipeline
>>> classifier = pipeline(model="distilbert/distilbert-base-uncased-finetuned-sst-2-english")
>>> classifier("This movie is disgustingly good !")
[{'label': 'POSITIVE', 'score': 1.0}]
>>> classifier("Director tried too much.")
[{'label': 'NEGATIVE', 'score': 0.996}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu metin sınıflandırma hattı şu anda "sentiment-analysis" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir (dizilerin olumlu veya olumsuz duygulara göre sınıflandırılması için).
Birden fazla sınıflandırma etiketi mevcut ise (model.config.num_labels >= 2), pipeline sonuçlar üzerinde softmax çalıştırır. Tek bir etiket varsa, pipeline sonuç üzerinde sigmoid çalıştırır. Geri dönüşüm (regression) görevlerinde (model.config.problem_type == "regression"), çıktı üzerinde herhangi bir fonksiyon uygulanmaz.
Bu hattın kullanabileceği modeller, bir dizi sınıflandırma görevinde ince ayarı yapılmış modellerdir. Kullanılabilir modellerin güncel listesini huggingface.co/models adresinde bulabilirsiniz.
__call__
< source >( inputs: str | list[str] | dict[str, str] | list[dict[str, str]]**kwargs: Any ) → A list of dict
Parametreler
- inputs (
strveyalist[str]veyadict[str], ya dalist[dict[str]]) — Sınıflandırılacak bir veya birden fazla metin. Sınıflandırma için metin çiftlerini kullanmak istiyorsanız,{"text", "text_pair"}anahtarlarını içeren bir sözlük veya bu sözlüklerin bir listesini gönderebilirsiniz. - top_k (
int, isteğe bağlı, varsayılan1) — Döndürülecek sonuç sayısı. - function_to_apply (
str, isteğe bağlı, varsayılan olarak"default") — Skorları almak için model çıktısına uygulanacak işlev. Dört farklı değeri kabul eder:Bu argüman belirtilmezse, etiket sayısına göre aşağıdaki işlevler uygulanır:
- Problem türü regression ise, çıktı üzerinde herhangi bir fonksiyon uygulanmaz.
- Modelin tek bir etiketi varsa, çıktı üzerinde sigmoid fonksiyonu uygulanır.
- Modelin birden fazla etiketi varsa, çıktı üzerinde softmax fonksiyonu uygulanır.
Olası değerler şunlardır:
"sigmoid": Çıktı üzerinde sigmoid fonksiyonunu uygular."softmax": Çıktı üzerinde softmax fonksiyonunu uygular."none": Çıktı üzerinde herhangi bir fonksiyon uygulamaz.
Dönüş değeri
dict listesi
Her sonuç, aşağıdaki anahtarlara sahip sözlüklerden oluşan bir liste olarak gelir:
- etiket (
str) — Tahmin edilen etiket. - score (
float) — İlgili olasılık.
top_k kullanılırsa, her etiket için birer sözlük döndürülür.
Girdi olarak verilen metin(ler)i sınıflandırın.
TextGenerationPipeline
sınıf transformers.TextGenerationPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Herhangi bir ModelWithLMHead veya ModelForCausalLM kullanarak dil üretimi hattı. Bu hat, belirtilen bir metin isteminin ardından gelecek kelimeleri tahmin eder. Altta yatan model bir sohbet modeli olduğunda, bir veya daha fazla sohbeti de kabul edebilir; bu durumda hat sohbet modunda çalışır ve yanıt(lar)ını ekleyerek sohbet(leri)ni sürdürür. Her sohbet, bir sözlük listesi biçiminde alır; her sözlük “role” ve “content” anahtarlarını içerir.
Kullandığınız model bu üretim parametrelerini yapılandırma dosyalarında (generation_config.json) açıkça belirtmediği sürece, aşağıdaki varsayılan değerler kullanılacaktır:
- max_new_tokens: 256
- do_sample: True
- temperature: 0.7
Örnekler:
>>> from transformers import pipeline
>>> generator = pipeline(model="openai-community/gpt2")
>>> generator("I can't believe you did such a ", do_sample=False)
[{'generated_text': "I can't believe you did such a icky thing to me. I'm so sorry. I'm so sorry. I'm so sorry. I'm so sorry. I'm so sorry. I'm so sorry. I'm so sorry. I"}]
>>> # These parameters will return suggestions, and only the newly created text making it easier for prompting suggestions.
>>> outputs = generator("My tart needs some", num_return_sequences=4, return_full_text=False)>>> from transformers import pipeline
>>> generator = pipeline(model="HuggingFaceH4/zephyr-7b-beta")
>>> # Zephyr-beta is a conversational model, so let's pass it a chat instead of a single string
>>> generator([{"role": "user", "content": "What is the capital of France? Answer in one word."}], do_sample=False, max_new_tokens=2)
[{'generated_text': [{'role': 'user', 'content': 'What is the capital of France? Answer in one word.'}, {'role': 'assistant', 'content': 'Paris'}]}]Learn more about the basics of using a pipeline in the pipeline tutorial. You can pass text generation parameters to this pipeline to control stopping criteria, decoding strategy, and more. Learn more about text generation parameters in Text generation strategies and Text generation.
Bu dil üretimi hattı şu anda "text-generation" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
Bu hattın kullanabileceği modeller, otoregresif dil modelleme hedefiyle eğitilmiş modellerdir. [huggingface.co/models] adresindeki mevcut metin tamamlama modelleri ve sohbet modelleri listelerine göz atın.
__call__
< source >( text_inputs**kwargs ) → A list or a list of lists of dict
Parametreler
- text_inputs (
str,list[str],ChatTypeveyalist[ChatType]) — Tamamlanacak bir veya birden fazla istem (veya istemlerin bir listesi). String veya string listesi geçirilirse, bu pipeline her istemi devam ettirir. Alternatif olarak, “role” ve “content” anahtarlarına sahip sözlüklerden oluşan bir liste biçimindeki bir “chat” geçirilebilir veya bu tür sohbetlerin bir listesi geçirilebilir. Sohbetler geçirildiğinde, modele geçirmeden önce biçimlendirmek için modelin sohbet şablonu kullanılır. - return_tensors (
bool, isteğe bağlı, varsayılanFalse) — Çıktılarda tahminlerin tensörlerini (token dizinleri olarak) döndürür.Trueolarak ayarlanırsa, çözümlenmiş metin döndürülmez. - return_text (
bool, isteğe bağlı) — Çıktılarda çözümlenmiş metinleri döndürür. - return_full_text (
bool, isteğe bağlı, varsayılanTrue) —Falseolarak ayarlanırsa yalnızca eklenen metin döndürülür, aksi halde tam metin döndürülür.return_textile aynı anda belirtilemez. - clean_up_tokenization_spaces (
bool, isteğe bağlı) — Metin çıktısındaki olası ek boşlukların temizlenip temizlenmeyeceğini belirtir. Varsayılan olarak tokenizer'ınclean_up_tokenization_spacesayarını kullanır. - continue_final_message(
bool, opsiyonel) — Bu, girdi sohbetindeki son mesajı yeni bir mesaj başlatmak yerine devam ettirmenizi ve yanıtını “ön doldurmanızı” (prefill) sağladığını belirtir. Varsayılan olarak, girdi sohbetindeki son mesajın rolüassistantise bu değerTrue, aksi haldeFalseolur; ancak bu bayrağı ayarlayarak bu davranışı manuel olarak geçersiz kılabilirsiniz. - prefix (
str, isteğe bağlı) — İfadeye eklenen önek. - stop_sequence (
strveyalist[str], isteğe bağlı) — Üretildiğinde üretimi durduran bir veya daha fazla dize. Durdurma dizesi çıktıya dahil edilir. - handle_long_generation (
str, isteğe bağlı) — Varsayılan olarak, bu pipeline uzun üretimleri (modelin maksimum uzunluğunu bir şekilde aşanları) işlemez. Bunu çözmek için mükemmel bir yol yoktur (daha fazla bilgihttps://github.com/huggingface/transformers/issues/14033#issuecomment-948385227). bu, kullanım durumunuza bağlı olarak bu sorunu aşmak için yaygın stratejiler sunar.None: özel bir işlem yapılmayan varsayılan strateji"hole": Girdinin solunu kısaltır ve üretimin gerçekleşmesine izin verecek kadar geniş bir boşluk bırakır (istemi büyük ölçüde kısaltabilir ve üretim model kapasitesini aştığında uygun olmayabilir)
- tokenizer_encode_kwargs (
dict, isteğe bağlı) — Tokenizer'ın kodlama adımına iletilmesi için ek anahtar kelime argümanları. Girdi metni bir sohbetse,apply_chat_templatefonksiyonuna iletilir. Aksi halde,__call__fonksiyonuna iletilir. - generate_kwargs (
dict, isteğe bağlı) — Modelin generate yöntemine iletilmesi için ek anahtar kelime argümanları (generate yöntemi için bkz. burası).
Dönüş değeri
dict listesi veya dict listelerinin listesi
Aşağıdaki sözlüklerden birini döndürür (hem generated_text hem de generated_token_ids kombinasyonunu döndüremez):
- generated_text (
str,return_text=Trueolduğunda mevcut) — Üretilen metin. - generated_token_ids (
torch.Tensor,return_tensors=Trueolduğunda mevcut) — Üretilen metnin token kimlikleri.
Girdi olarak verilen istem(leri) tamamlayın.
TokenClassificationPipeline
sınıf transformers.TokenClassificationPipeline
< source >( args_parser = <transformers.pipelines.token_classification.TokenClassificationArgumentHandler object at 0x7f01a01a0d10>**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak. - ignore_labels (
list[str], varsayılan["O"]) — Yoksayılacak etiketlerin listesi. - stride (
int, isteğe bağlı) — stride sağlanırsa, pipeline tüm metne uygulanır. Metin, model_max_length boyutunda parçalara bölünür. Yalnızca hızlı tokenizörlerle veaggregation_strategydeğeriNONE'den farklı olduğunda çalışır. Bu argümanın değeri, parçalar arasındaki üst üste binen token sayısını belirler. Başka bir deyişle, model her adımdatokenizer.model_max_length - stridetoken ileri kayar. - aggregation_strategy (
str, isteğe bağlı, varsayılan olarak"none") — Model tahminine dayanarak token'ları birleştirmenin (veya birleştirmemenin) stratejisi.- “none” : Hiçbir birleştirme işlemi yapmaz ve modelden gelen ham sonuçları olduğu gibi döndürür
- “simple”: Varsayılan şemaya göre varlıkları gruplandırmaya çalışır. (A, B-TAG), (B, I-TAG), (C, I-TAG), (D, B-TAG2) (E, B-TAG2) dizisi [{“word”: ABC, “entity”: “TAG”}, {“word”: “D”, “entity”: “TAG2”}, {“word”: “E”, “entity”: “TAG2”}] sonucunu verir. Ardışık iki B etiketinin farklı varlıklar olarak sonuçlanacağını unutmayın. Kelime tabanlı dillerde, kelimeleri istenmeyen şekilde bölebiliriz: Örneğin Microsoft, [{“word”: “Micro”, “entity”: “ENTERPRISE”}, {“word”: “soft”, “entity”: “NAME”}] şeklinde etiketlenebilir. Bunu azaltmak ve kelimeleri ayırt etmek için FIRST, MAX, AVERAGE seçeneklerine bakın (bu anlamı destekleyen dillerde, yani temelde boşlukla ayrılmış tokenlar için geçerlidir). Bu önlemler yalnızca gerçek kelimelerde işe yarar; “New york” hâlâ iki farklı varlıkla etiketlenebilir.
- “first” : (yalnızca kelime tabanlı modellerde çalışır)
SIMPLEstratejisini kullanır ancak kelimeler farklı etiketlerle sonuçlanamaz. Belirsizlik durumunda kelimeler, kelimenin ilk jetonunun etiketini kullanır. - “average” : (yalnızca kelime tabanlı modellerde çalışır)
SIMPLEstratejisini kullanır ancak kelimeler farklı etiketlerle sonuçlanamaz. Skorlar önce tokenler arasında ortalama alınır, ardından en yüksek etiket uygulanır. - “max” : (yalnızca kelime tabanlı modellerde çalışır)
SIMPLEstratejisini kullanır ancak kelimeler farklı etiketlerle sonuçlanamaz. Kelime varlığı, en yüksek skora sahip jeton olacaktır.
Herhangi bir ModelForTokenClassification kullanarak Adlandırılmış Varlık Tanıma hattı. Daha fazla bilgi için adlandırılmış varlık tanıma örneklerine bakın.
Örnek:
>>> from transformers import pipeline
>>> token_classifier = pipeline(model="Jean-Baptiste/camembert-ner", aggregation_strategy="simple")
>>> sentence = "Je m'appelle jean-baptiste et je vis à montréal"
>>> tokens = token_classifier(sentence)
>>> tokens
[{'entity_group': 'PER', 'score': 0.9931, 'word': 'jean-baptiste', 'start': 12, 'end': 26}, {'entity_group': 'LOC', 'score': 0.998, 'word': 'montréal', 'start': 38, 'end': 47}]
>>> token = tokens[0]
>>> # Start and end provide an easy way to highlight words in the original text.
>>> sentence[token["start"] : token["end"]]
' jean-baptiste'
>>> # Some models use the same idea to do part of speech.
>>> syntaxer = pipeline(model="vblagoje/bert-english-uncased-finetuned-pos", aggregation_strategy="simple")
>>> syntaxer("My name is Sarah and I live in London")
[{'entity_group': 'PRON', 'score': 0.999, 'word': 'my', 'start': 0, 'end': 2}, {'entity_group': 'NOUN', 'score': 0.997, 'word': 'name', 'start': 3, 'end': 7}, {'entity_group': 'AUX', 'score': 0.994, 'word': 'is', 'start': 8, 'end': 10}, {'entity_group': 'PROPN', 'score': 0.999, 'word': 'sarah', 'start': 11, 'end': 16}, {'entity_group': 'CCONJ', 'score': 0.999, 'word': 'and', 'start': 17, 'end': 20}, {'entity_group': 'PRON', 'score': 0.999, 'word': 'i', 'start': 21, 'end': 22}, {'entity_group': 'VERB', 'score': 0.998, 'word': 'live', 'start': 23, 'end': 27}, {'entity_group': 'ADP', 'score': 0.999, 'word': 'in', 'start': 28, 'end': 30}, {'entity_group': 'PROPN', 'score': 0.999, 'word': 'london', 'start': 31, 'end': 37}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu token tanıma hattı şu anda pipeline() üzerinden aşağıdaki görev tanımlayıcısı kullanılarak yüklenebilir: "ner" (bir dizideki tokenların sınıflarını tahmin etmek için: kişi, kuruluş, konum veya diğer).
Bu hattın kullanabileceği modeller, bir token sınıflandırma görevinde ince ayarlanmış modellerdir. Kullanılabilir modellerin güncel listesini huggingface.co/models adresinde bulabilirsiniz.
__call__
< source >( inputs: str | list[str]**kwargs: Any ) → A list or a list of list of dict
Parametreler
- inputs (
strveyaList[str]) — Token sınıflandırma için bir veya birden fazla metin (veya metinlerden oluşan bir liste).is_split_into_words=Trueolduğunda önceden tokenize edilmiş olabilir.
Dönüş değeri
dict listesi veya dict listelerinin listesi
Her sonuç, ilgili girdideki her token için (veya bu pipeline bir aggregation_strategy ile örneklenmişse her varlık için) bir tane olmak üzere sözlüklerden oluşan bir liste olarak gelir ve aşağıdaki anahtarlara sahiptir:
- word (
str) — Sınıflandırılan token/kelime. Bu, seçilen tokenların çözümlenmesiyle elde edilir. Orijinal cümledeki tam dizeye sahip olmak istiyorsanızstartveendkullanın. - score (
float) —entityiçin ilgili olasılık. - entity (
str) — O token/kelime için tahmin edilen varlık (aggregation_strategy değeri"none"olmadığında entity_group olarak adlandırılır). - index (
int, yalnızcaaggregation_strategy="none"olduğunda mevcut) — Cümledeki ilgili token'ın indeksi. - start (
int, isteğe bağlı) — Cümledeki ilgili varlığın başlangıç indeksidir. Yalnızca tokenizer içinde ofsetler mevcut olduğunda bulunur - end (
int, isteğe bağlı) — Cümledeki ilgili varlığın sonundaki indeks. Yalnızca tokenizer içinde ofsetler mevcut ise bulunur
Girdi olarak verilen metinlerin her bir token'ını sınıflandırın.
Kelime sınırlarında anlaşmayı zorlamak için, verilen bir kelimeden gelen ve anlaşmazlık gösteren jetonları geçersiz kılın.
Örnek: micro|soft| com|pany| B-ENT I-NAME I-ENT I-ENT, ilk stratejiyle microsoft| company| B-ENT I-ENT olarak yeniden yazılır
gather_pre_entities
< source >( sentence: strinput_ids: ndarrayscores: ndarrayoffset_mapping: list[tuple[int, int]] | Nonespecial_tokens_mask: ndarrayaggregation_strategy: AggregationStrategyword_ids: list[int | None] | None = Noneword_to_chars_map: list[tuple[int, int]] | None = None )
Çeşitli numpy dizilerini, agregasyon için gereken tüm bilgilerle birlikte sözlüklere birleştirin
group_entities
< source >( entities: list )
Aynı varlık tahmini yapılmış bitişik jetonları bulun ve bir araya getirin.
group_sub_entities
< source >( entities: list )
Aynı varlık tahmini yapılmış bitişik token'ları bir araya getirin.
ZeroShotClassificationPipeline
sınıf transformers.ZeroShotClassificationPipeline
< source >( args_parser = <transformers.pipelines.zero_shot_classification.ZeroShotClassificationArgumentHandler object at 0x7f018ececad0>**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
NLI (doğal dil çıkarımı) görevlerinde eğitilmiş bir ModelForSequenceClassification kullanan, NLI tabanlı sıfır atışlı sınıflandırma hattı. text-classification hatlarının eşdeğeri olmakla birlikte, bu modellerin önceden tanımlı bir sınıf sayısı gerektirmesi gerekmez; sınıflar çalışma zamanında seçilebilir. Bu genellikle daha yavaş çalıştığı anlamına gelir ancak çok daha esnektir.
Dizilerin ve etiketlerin herhangi bir kombinasyonu geçirilebilir ve her kombinasyon bir ön kabul/hipotez çifti olarak ele alınıp önceden eğitilmiş modele iletilir. Ardından, aday etiketin geçerli olma logiti olarak entailment logiti alınır. Herhangi bir NLI modeli kullanılabilir, ancak entailment etiketinin kimliği, model yapılandırmasının :attr:~transformers.PreTrainedConfig.label2id alanında yer almalıdır.
Örnek:
>>> from transformers import pipeline
>>> oracle = pipeline(model="facebook/bart-large-mnli")
>>> oracle(
... "I have a problem with my iphone that needs to be resolved asap!!",
... candidate_labels=["urgent", "not urgent", "phone", "tablet", "computer"],
... )
{'sequence': 'I have a problem with my iphone that needs to be resolved asap!!', 'labels': ['urgent', 'phone', 'computer', 'not urgent', 'tablet'], 'scores': [0.504, 0.479, 0.013, 0.003, 0.002]}
>>> oracle(
... "I have a problem with my iphone that needs to be resolved asap!!",
... candidate_labels=["english", "german"],
... )
{'sequence': 'I have a problem with my iphone that needs to be resolved asap!!', 'labels': ['english', 'german'], 'scores': [0.814, 0.186]}Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu NLI hattı şu anda "zero-shot-classification" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
Bu hattın kullanabileceği modeller, bir NLI görevi üzerinde ince ayarlanmış modellerdir. Kullanılabilir modellerin güncel listesini huggingface.co/models adresinde bulabilirsiniz.
__call__
< source >( sequences: str | list[str]*args**kwargs ) → A dict or a list of dict
Parametreler
- sequences (
strveyalist[str]) — Sınıflandırılacak dizi(ler), model girdisi çok büyükse kırpılır. - candidate_labels (
strveyalist[str]) — Her diziyi sınıflandırmak için olası sınıf etiketleri kümesi. Tek bir etiket, virgülle ayrılmış etiketlerden oluşan bir dize veya etiket listesi olabilir. - hypothesis_template (
str, isteğe bağlı, varsayılan"This example is {}.") — Her etiketi NLI tarzı bir hipoteze dönüştürmek için kullanılan şablon. Bu şablon, şablona aday etiketin yerleştirilebilmesi için {} veya benzer bir sözdizimi içermelidir. Örneğin, varsayılan şablon"This example is {}."şeklindedir. Aday etiket"sports"olduğunda, bu modelde"<cls> sequence to classify <sep> This example is sports . <sep>"gibi işlenir. Varsayılan şablon birçok durumda iyi çalışır, ancak görev ayarına bağlı olarak farklı şablonlarla deney yapmak faydalı olabilir. - multi_label (
bool, isteğe bağlı, varsayılanFalse) — Birden fazla aday etiketin doğru olup olamayacağı.Falseise, her dizi için etiket olasılıklarının toplamının 1 olacağı şekilde puanlar normalize edilir.Trueise, etiketler bağımsız olarak ele alınır ve her aday için, çelişki puanına karşı kabul puanının softmax'i alınarak olasılıklar normalize edilir.
Dönüş değeri
Bir dict veya dict listesi
Her sonuç aşağıdaki anahtarlarla bir sözlük olarak gelir:
- sequence (
str) — Bu çıktının ait olduğu dizi. - labels (
list[str]) — Olasılık sırasına göre sıralanmış etiketler. - scores (
list[float]) — Etiketlerin her biri için olasılıklar.
Girdi olarak verilen dizileri sınıflandırın. Daha fazla bilgi için ZeroShotClassificationPipeline belgelendirmesine bakın.
Çok Modallı
Çok modlu görevler için kullanılabilir olanlar şunlardır.
DocumentQuestionAnsweringPipeline
sınıf transformers.DocumentQuestionAnsweringPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Herhangi bir AutoModelForDocumentQuestionAnswering ile Belge Soru Cevaplama hattı. Girdiler/çıktılar (çıkarımsal) soru cevaplama hattına benzer; ancak hat, metin bağlamı yerine bir görüntüyü (ve isteğe bağlı OCR’lenmiş kelimeleri/kutuları) girdi olarak alır.
Kullandığınız model bu üretim parametrelerini yapılandırma dosyalarında (generation_config.json) açıkça belirtmediği sürece, aşağıdaki varsayılan değerler kullanılacaktır:
- max_new_tokens: 256
Örnek:
>>> from transformers import pipeline
>>> document_qa = pipeline(model="impira/layoutlm-document-qa")
>>> document_qa(
... image="https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/invoice_docquery_a.png",
... question="What is the invoice number?",
... )
[{'score': 0.425, 'answer': 'us-001', 'start': 16, 'end': 16}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu belge soru cevaplama hattı şu anda "document-question-answering" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
Bu hattın kullanabileceği modeller, bir belge soru-cevap görevinde ince ayarı yapılmış modellerdir. Mevcut kullanılabilir modellerin listesini huggingface.co/models adresinde bulabilirsiniz.
__call__
< source >( image: typing.Union[ForwardRef('Image.Image'), str, list[dict[str, typing.Any]]]question: str | None = Noneword_boxes: tuple[str, list[float]] | None = None**kwargs: Any ) → A dict or a list of dict
Parametreler
- image (
strveyaPIL.Image) — Pipeline üç tür görüntüyle çalışır:- Bir görseli işaret eden http bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü veya bir görüntü grubu kabul eder. Tek bir görüntü verilirse, birden fazla soruya yayılabilir.
- question (
str) — Belgeye sorulacak bir soru. - word_boxes (
list[str, tuple[float, float, float, float]], isteğe bağlı) — Kelime ve sınır kutuları (normalize edilmiş 0->1000) listesi. Bu isteğe bağlı girdiyi sağlarsanız, pipeline bu kelimeleri ve kutuları kullanır; bunları türetmek için modele OCR çalıştırmaz (bunlara ihtiyaç duyan modeller için, örn. LayoutLM). Bu sayede, her seferinde yeniden çalıştırmak zorunda kalmadan OCR sonuçlarını pipeline'ın birçok çağrısında yeniden kullanabilirsiniz. - top_k (
int, isteğe bağlı, varsayılan 1) — Dönülecek cevap sayısı (olasılık sırasına göre seçilir). Bağlamda yeterli seçenek yoksa, top_k cevaptan azı döndürülür. - doc_stride (
int, isteğe bağlı, varsayılan 128) — Belgedeki kelimeler, model için soruyla birlikte sığmayacak kadar uzunsa, bazı örtüşmelerle birkaç parçaya bölünür. Bu argüman, bu örtüşmenin boyutunu kontrol eder. - max_answer_len (
int, isteğe bağlı, varsayılan 15) — Tahmin edilen cevapların maksimum uzunluğu (ör. yalnızca daha kısa uzunluğa sahip cevaplar dikkate alınır). - max_seq_len (
int, isteğe bağlı, varsayılan 384) — Modeline iletilen her parçanın toplam cümle (bağlam + soru) uzunluğunun jeton cinsinden maksimum değeri. Gerekirse bağlam, birkaç parçaya bölünür (doc_strideörtüşme olarak kullanılır). - max_question_len (
int, isteğe bağlı, varsayılan 64) — Tokenizasyon sonrası sorunun maksimum uzunluğu. Gerekirse kısaltılır. - handle_impossible_answer (
bool, isteğe bağlı, varsayılanFalse) — İmkânsızın bir cevap olarak kabul edilip edilmeyeceği. - lang (
str, isteğe bağlı) — OCR çalıştırılırken kullanılacak dil. Varsayılan olarak english kullanılır. - tesseract_config (
str, isteğe bağlı) — OCR çalıştırılırken tesseract'a iletilecek ek bayraklar. - timeout (
float, isteğe bağlı, varsayılan None) — Web'den görüntüleri almak için beklenecek maksimum süre (saniye cinsinden). None ise zaman aşımı ayarlanmaz ve çağrı sonsuza kadar bloklanabilir.
Dönüş değeri
Bir dict veya dict listesi
Her sonuç aşağıdaki anahtarlarla bir sözlük olarak gelir:
- score (
float) — Cevapla ilişkili olasılık. - start (
int) — Cevabın başlangıç kelime indeksi (girdinin OCR edilmiş sürümünde veya sağlananword_boxesiçinde). - end (
int) — Cevabın son kelime indeksi (girdinin OCR edilmiş sürümünde veya sağlananword_boxesiçinde). - answer (
str) — Sorunun cevabı. - words (
list[int]) — Cevap içindeki her kelime/kutu çiftinin indeksi
Girdi olarak verilen soruları, belgeleri kullanarak yanıtlayın. Bir belge, bir görüntü ve belgedeki metni temsil eden isteğe bağlı (kelime, kutu) demetleri listesidir. word_boxes sağlanmazsa, bunları girdi olarak gerektiren LayoutLM benzeri modeller için kelimeler ve kutular otomatik olarak çıkarılır (müsaitse Tesseract OCR motoru kullanılır). Donut için OCR çalıştırılmaz.
Pipeline'i birkaç farklı şekilde çağırabilirsiniz:
pipeline(image=image, question=question)pipeline(image=image, question=question, word_boxes=word_boxes)pipeline([{"image": image, "question": question}])pipeline([{"image": image, "question": question, "word_boxes": word_boxes}])
FeatureExtractionPipeline
sınıf transformers.FeatureExtractionPipeline
< source >( model: PreTrainedModeltokenizer: PreTrainedTokenizer | None = Nonefeature_extractor: PreTrainedFeatureExtractor | None = Noneimage_processor: BaseImageProcessor | None = Nonevideo_processor: BaseVideoProcessor | None = Noneprocessor: ProcessorMixin | None = Nonetask: str = ''device: int | torch.device | None = Nonebinary_output: bool = False**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - tokenize_kwargs (
dict, isteğe bağlı) — Tokenizöre iletilen ek anahtar kelime argümanları sözlüğü. - return_tensors (
bool, isteğe bağlı) —Trueise, belirtilen çerçeveye göre bir tensör döndürür, aksi halde bir liste döndürür.
Özellik çıkarımı hattı model kafası kullanmaz. Bu hat, temel dönüştürücünün gizli durumlarını çıkarır ve bunlar aşağı akış görevlerinde özellik olarak kullanılabilir.
Örnek:
>>> from transformers import pipeline
>>> extractor = pipeline(model="google-bert/bert-base-uncased", task="feature-extraction")
>>> result = extractor("This is a simple test.", return_tensors=True)
>>> result.shape # This is a tensor of shape [1, sequence_length, hidden_dimension] representing the input string.
torch.Size([1, 8, 768])Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu özellik çıkarma hattı şu anda "feature-extraction" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
Bu boru hattı için tüm modeller kullanılabilir. Topluluk tarafından katkıda bulunan modeller dahil olmak üzere tüm modellerin listesini huggingface.co/models adresinde görüntüleyebilirsiniz.
__call__
< source >( *args: str | list[str]**kwargs: Any ) → A nested list of float
Girdi metinlerinin özelliklerini çıkarın.
ImageFeatureExtractionPipeline
sınıf transformers.ImageFeatureExtractionPipeline
< source >( model: PreTrainedModeltokenizer: PreTrainedTokenizer | None = Nonefeature_extractor: PreTrainedFeatureExtractor | None = Noneimage_processor: BaseImageProcessor | None = Nonevideo_processor: BaseVideoProcessor | None = Noneprocessor: ProcessorMixin | None = Nonetask: str = ''device: int | torch.device | None = Nonebinary_output: bool = False**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak. - image_processor_kwargs (
dict, isteğe bağlı) — Görsel işleyiciye (image processor) iletilen ek anahtar kelime argümanları sözlüğü, örn. {“size”: {“height”: 100, “width”: 100}} - pool (
bool, isteğe bağlı, varsayılanFalse) — Havuzlanmış çıktının döndürülüp döndürülmeyeceği.Falseise model, ham gizli durumları döndürür.
Görüntü özellik çıkarımı hattı model başı kullanmaz. Bu hat, temel dönüştürücünün gizli durumlarını çıkarır ve bunlar aşağı akış görevlerinde özellik olarak kullanılabilir.
Örnek:
>>> from transformers import pipeline
>>> extractor = pipeline(model="google/vit-base-patch16-224", task="image-feature-extraction")
>>> result = extractor("https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png", return_tensors=True)
>>> result.shape # This is a tensor of shape [1, sequence_length, hidden_dimension] representing the input image.
torch.Size([1, 197, 768])Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu görüntü özellik çıkarma hattı şu anda pipeline() üzerinden şu görev tanımlayıcısı kullanılarak yüklenebilir: "image-feature-extraction".
Bu boru hattı için tüm görme modelleri kullanılabilir. Topluluk tarafından katkıda bulunan modeller dahil olmak üzere tüm modellerin listesini huggingface.co/models adresinde görüntüleyebilirsiniz.
__call__
< source >( *args: typing.Union[str, ForwardRef('Image.Image'), list['Image.Image'], list[str]]**kwargs: Any ) → A nested list of float
Parametreler
- images (
str,list[str],PIL.Imageveyalist[PIL.Image]) — Pipeline üç tür görüntüyle çalışır:- Bir görseli işaret eden http bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü ya da bir görüntü grubu kabul eder; bunlar bir dize olarak geçirilmelidir. Bir gruptaki görüntülerin hepsi aynı biçimde olmalıdır: hepsi http bağlantısı, hepsi yerel yol ya da hepsi PIL görüntüsü.
- timeout (
float, isteğe bağlı, varsayılan None) — Web'den görüntüleri almak için beklenecek maksimum süre (saniye cinsinden). None ise zaman aşımı kullanılmaz ve çağrı sonsuza kadar bloklanabilir.
Dönüş değeri
float iç içe listesi
Model tarafından hesaplanan özellikler.
Girdi(ler)in özelliklerini çıkarın.
ImageTextToTextPipeline
sınıf transformers.ImageTextToTextPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- processor (ProcessorMixin) —
Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı işlemci (processor). Bu nesne ProcessorMixin sınıfından türetilir. İşlemci (Processor),
tokenizer,feature_extractorveimage_processorbileşenlerini içerebilen birleşik bir nesnedir. - task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
AutoModelForImageTextToText kullanan görüntü-metin-metin hattı. Bu hat, bir görüntü ve metin verildiğinde metin üretir.
Altta yatan model bir sohbet modeli olduğunda, bir veya daha fazla sohbeti de kabul edebilir; bu durumda hat sohbet modunda çalışır ve yanıt(lar)ını ekleyerek sohbet(ler)i devam ettirir.
Her sohbet, sözlüklerden oluşan bir listenin biçimini alır; her sözlük “role” ve “content” anahtarlarını içerir.
Kullandığınız model bu üretim parametrelerini yapılandırma dosyalarında (generation_config.json) açıkça belirtmediği sürece, aşağıdaki varsayılan değerler kullanılacaktır:
- max_new_tokens: 256
Örnek:
>>> from transformers import pipeline
>>> pipe = pipeline(task="image-text-to-text", model="Salesforce/blip-image-captioning-base")
>>> pipe("https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png", text="A photo of")
[{'generated_text': 'a photo of two birds'}]>>> from transformers import pipeline
>>> pipe = pipeline("image-text-to-text", model="llava-hf/llava-interleave-qwen-0.5b-hf")
>>> messages = [
>>> {
>>> "role": "user",
>>> "content": [
>>> {
>>> "type": "image",
>>> "url": "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/qwen_vl_demo.jpeg",
>>> },
>>> {"type": "text", "text": "Describe this image."},
>>> ],
>>> },
>>> {
>>> "role": "assistant",
>>> "content": [
>>> {"type": "text", "text": "There is a dog and"},
>>> ],
>>> },
>>> ]
>>> pipe(text=messages, max_new_tokens=20, return_full_text=False)
[{'input_text': [{'role': 'user',
'content': [{'type': 'image',
'url': 'https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/qwen_vl_demo.jpeg'},
{'type': 'text', 'text': 'Describe this image.'}]},
{'role': 'assistant',
'content': [{'type': 'text', 'text': 'There is a dog and'}]}],
'generated_text': ' a person in the image. The dog is sitting on the sand, and the person is sitting on'}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu görsel-metinden metne hattı şu anda pipeline() kullanılarak aşağıdaki görev tanımlayıcısıyla yüklenebilir: “image-text-to-text”.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( images: typing.Union[str, list[str], list[list[str]], ForwardRef('Image.Image'), list['Image.Image'], list[list['Image.Image']], list[dict], NoneType] = Nonetext: str | list[str] | list[dict] | None = None**kwargs ) → A list or a list of list of dict
Parametreler
- images (
str,list[str],PIL.Image,list[PIL.Image],list[dict[str, Union[str, PIL.Image]]]`) — Hattın (pipeline) işlediği üç tür görüntü vardır:- Bir görüntüye işaret eden HTTP(s) bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü veya bir görüntü grubu kabul eder. Son olarak, bu pipeline, bu argümanda görüntü ve metin içeren sohbet biçimini (bkz.
text) de destekler. - text (str, list[str],
list[dict[str, Union[str, PIL.Image]]]) — Üretimde kullanılacak metin. Bir dize listesi geçirilirse, listenin uzunluğu görüntü sayısı ile aynı olmalıdır. Metin ayrıca sohbet biçimini de takip edebilir: bir konuşmadaki her mesajı temsil eden sözlüklerden oluşan bir liste. Her sözlüğün iki anahtarı olmalıdır: ‘role’ ve ‘content’. ‘role’, ‘user’, ‘system’ veya ‘assistant’ değerlerinden biri olmalıdır. ‘content’, mesajın metnini ve mesajın türünü içeren bir sözlük listesi olmalıdır. Mesajın türü ‘text’ veya ‘image’ olabilir. Tür ‘image’ ise metin gerekmez. - return_tensors (
bool, isteğe bağlı, varsayılanFalse) — Çıktılarda tahminlerin tensörlerini (token dizinleri olarak) döndürür.Trueolarak ayarlanırsa, çözümlenmiş metin döndürülmez. - return_text (
bool, isteğe bağlı) — Çıktılarda çözümlenmiş metinleri döndürür. - return_full_text (
bool, isteğe bağlı, varsayılanTrue) —Falseolarak ayarlanırsa yalnızca eklenen metin döndürülür, aksi halde tam metin döndürülür.return_textile aynı anda belirtilemez. - clean_up_tokenization_spaces (
bool, isteğe bağlı) — Metin çıktısındaki olası ek boşlukların temizlenip temizlenmeyeceğini belirtir. Varsayılan olarak tokenizer'ınclean_up_tokenization_spacesayarını kullanır. - continue_final_message(
bool, opsiyonel) — Bu, girdi sohbetindeki son mesajı yeni bir mesaj başlatmak yerine devam ettirmenizi ve yanıtını “ön doldurmanızı” (prefill) sağladığını belirtir. Varsayılan olarak, girdi sohbetindeki son mesajın rolüassistantise bu değerTrue, aksi haldeFalseolur; ancak bu bayrağı ayarlayarak bu davranışı manuel olarak geçersiz kılabilirsiniz.
Dönüş değeri
dict listesi veya dict listelerinin listesi
Her sonuç, aşağıdaki anahtarla bir sözlük olarak gelir (hem generated_text hem de generated_token_ids kombinasyonunu döndüremez):
- generated_text (
str,return_text=Trueolduğunda mevcut) — Üretilen metin. - generated_token_ids (
torch.Tensor,return_tensors=Trueolduğunda mevcut) — Üretilen metnin token kimlikleri. - input_text (
str) — Girdi metni.
Girdi olarak verilen metin ve görsel(lere) dayanarak bir metin oluşturun.
AnyToAnyPipeline
sınıf transformers.AnyToAnyPipeline
< source >( *args**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- processor (ProcessorMixin) —
Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı işlemci (processor). Bu nesne ProcessorMixin sınıfından türetilir. İşlemci (Processor),
tokenizer,feature_extractorveimage_processorbileşenlerini içerebilen birleşik bir nesnedir. - task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
AutoModelForMultimodalLM kullanan Çok Modlu Üretim hattı. Bu hat, çok modlu verilerin ve metnin herhangi bir kombinasyonu verildiğinde metin üretir. Altta yatan model konuşmacı bir model ise, bir veya daha fazla sohbeti de kabul edebilir; bu durumda hat sohbet modunda çalışır ve yanıt(lar)ını ekleyerek sohbet(leri)ni sürdürür. Her sohbet, sözlüklerden oluşan bir listenin biçimini alır; her sözlük “role” ve “content” anahtarlarını içerir.
Kullandığınız model bu üretim parametrelerini yapılandırma dosyalarında (generation_config.json) açıkça belirtmediği sürece, aşağıdaki varsayılan değerler kullanılacaktır:
- max_new_tokens: 256
Örnek:
>>> from transformers import pipeline
>>> pipe = pipeline(task="any-to-any", model="google/gemma-3n-E4B-it")
>>> pipe("https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png", text="A photo of")
[{'generated_text': 'a photo of two birds'}]>>> from transformers import pipeline
>>> pipe = pipeline("any-to-any", model="google/gemma-3n-E4B-it")
>>> messages = [
>>> {
>>> "role": "user",
>>> "content": [
>>> {
>>> "type": "image",
>>> "url": "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/qwen_vl_demo.jpeg",
>>> },
>>> {"type": "text", "text": "Describe this image."},
>>> ],
>>> },
>>> {
>>> "role": "assistant",
>>> "content": [
>>> {"type": "text", "text": "There is a dog and"},
>>> ],
>>> },
>>> ]
>>> pipe(text=messages, max_new_tokens=20, return_full_text=False)
[{'input_text': [{'role': 'user',
'content': [{'type': 'image',
'url': 'https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/qwen_vl_demo.jpeg'},
{'type': 'text', 'text': 'Describe this image.'}]},
{'role': 'assistant',
'content': [{'type': 'text', 'text': 'There is a dog and'}]}],
'generated_text': ' a person in the image. The dog is sitting on the sand, and the person is sitting on'}]Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu çok modlu boru hattı şu anda pipeline() üzerinden aşağıdaki görev tanımlayıcısı kullanılarak yüklenebilir: “any-to-any”.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( text: str | list[str] | list[dict]images: typing.Union[str, list[str], list[list[str]], ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonevideos: typing.Union[str, list[str], list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[str, list[str], numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs ) → A list or a list of list of dict
Parametreler
- text (
str,list[str],list[dict]) — Üretime kullanılacak metin. Bir dize listesi geçirilirse, listenin uzunluğu görsellerin sayısı ile aynı olmalıdır. Metin ayrıca sohbet biçimini de takip edebilir: bir sohbetteki bir mesajı temsil eden sözlüklerden oluşan bir liste. Her sözlüğün iki anahtarı olmalıdır: ‘role’ ve ‘content’. ‘role’, ‘user’, ‘system’ veya ‘assistant’ değerlerinden biri olmalıdır. ‘content’, mesajın metnini ve mesajın türünü içeren bir sözlük listesi olmalıdır. - images (
str,list[str],ImageInput) — Hattın (pipeline) işlediği üç tür görsel vardır:- Bir görüntüye işaret eden HTTP(s) bağlantısı içeren bir dize
- Bir görselin yerel yolunu içeren bir dize
- PIL'de doğrudan yüklenen bir görüntü
Pipeline, tek bir görüntü veya bir görüntü grubu kabul eder. Son olarak, bu pipeline, bu argümanda görüntü ve metin içeren sohbet biçimini (bkz.
text) de destekler. - videos (
str,list[str],VideoInput) — Hattın (pipeline) işlediği üç tür video vardır:- Bir videoya işaret eden HTTP(s) bağlantısı içeren bir dize
- Bir videoya yerel bir yol içeren bir dize
- Dizi biçimine yüklenip çözümlenen bir video
Pipeline, tek bir video veya bir video grubu kabul eder. Son olarak, bu pipeline, bu argümanda video ve metin içeren sohbet biçimini (bkz.
text) de destekler. - audio (
str,list[str],AudioInput) — Pipeline üç tür sesle çalışır:- Ses dosyasına işaret eden bir HTTP(s) bağlantısı içeren bir dize
- Ses dosyasına yerel bir yol içeren bir dize
- PIL'de doğrudan yüklenen bir ses
Pipeline, tek bir audios veya bir audios grubu kabul eder. Son olarak, bu pipeline, bu argümanda hem audios hem de metin içeren sohbet biçimini (bkz.
text) de destekler. - return_tensors (
bool, isteğe bağlı, varsayılanFalse) — Çıktılarda tahminlerin tensörlerini (token dizinleri olarak) döndürür.Trueolarak ayarlanırsa, çözümlenmiş metin döndürülmez. - return_text (
bool, isteğe bağlı) — Çıktılarda çözümlenmiş metinleri döndürür. - return_full_text (
bool, isteğe bağlı, varsayılanTrue) —Falseolarak ayarlanırsa yalnızca eklenen metin döndürülür, aksi halde tam metin döndürülür.return_textile aynı anda belirtilemez. - clean_up_tokenization_spaces (
bool, isteğe bağlı) — Metin çıktısındaki olası ek boşlukların temizlenip temizlenmeyeceğini belirtir. Varsayılan olarak tokenizer'ınclean_up_tokenization_spacesayarını kullanır. - continue_final_message(
bool, opsiyonel) — Bu, girdi sohbetindeki son mesajı yeni bir mesaj başlatmak yerine devam ettirmenizi ve yanıtını “ön doldurmanızı” (prefill) sağladığını belirtir. Varsayılan olarak, girdi sohbetindeki son mesajın rolüassistantise bu değerTrue, aksi haldeFalseolur; ancak bu bayrağı ayarlayarak bu davranışı manuel olarak geçersiz kılabilirsiniz.
Dönüş değeri
dict listesi veya dict listelerinin listesi
Her sonuç, aşağıdaki anahtarla bir sözlük olarak gelir (hem generated_text hem de generated_token_ids kombinasyonunu döndüremez):
- generated_text (
str,return_text=Truevegeneration_mode="text"olduğunda mevcut) — Üretilen metin. - generated_audio (
np.ndarray,generation_mode="audio"olduğunda mevcut) — Üretilen ses. - generated_image (
PIL.Image.Image,generation_mode="image"olduğunda mevcut) — Üretilen görüntü. - generated_token_ids (
torch.Tensor,return_tensors=Truevegeneration_mode="text"olduğunda mevcut) — Üretilen metnin token kimlikleri. - input_text (
str) — Girdi metni.
Girdi olarak iletilen metin ve isteğe bağlı olarak çok modlu verilerden metin üretin.
MaskGenerationPipeline
sınıf transformers.MaskGenerationPipeline
< source >( **kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak. - points_per_batch (isteğe bağlı, int, varsayılan 64) — Modelin eşzamanlı olarak çalıştırdığı nokta sayısını belirler. Daha yüksek sayılar daha hızlı olabilir ancak daha fazla GPU belleği kullanır.
- output_bboxes_mask (
bool, isteğe bağlı, varsayılanFalse) — Sınır kutusu tahminlerinin çıkarılıp çıkarılmayacağı. - output_rle_masks (
bool, isteğe bağlı, varsayılanFalse) — MaskelerinRLEbiçiminde mi yoksa değil mi mi çıktılanacağı
Görseller için SamForMaskGeneration kullanılarak otomatik maske üretimi. Bu pipeline, bir görsel verildiğinde görsel için ikili maskeler tahmin eder. Noktaları bir mini-toplu işlemde ayırarak OOM sorunlarını önleyebileceğiniz için bir ChunkPipeline'dır. Aynı anda işlenecek nokta sayısını kontrol etmek için points_per_batch argümanını kullanın. Varsayılan değer 64'tür.
Hattın çalışması 3 adımda gerçekleşir:
preprocess: 1024 noktalık, eşit aralıklı bir ızgara, sınırlayıcı kutular ve nokta etiketleriyle birlikte oluşturulur. Noktaların ve sınırlayıcı kutuların nasıl oluşturulduğuna dair daha fazla ayrıntı için_generate_crop_boxesfonksiyonuna bakın. Görüntü ayrıcaimage_processorkullanılarak ön işlenir. Bu fonksiyonpoints_per_batchiçeren bir mini topuyieldseder.forward:preprocessçıktılarını modele iletir. Gömme (embedding) yalnızca bir kez hesaplanır. Hemself.model.get_image_embeddingsçağrılır hem de gradyanların hesaplanmadığından, tensörlerin ve modellerin aynı cihazda olduğundan emin olunur.postprocess: Otomatik maske üretiminin en önemli kısmı burada gerçekleşir. Üç adım uygulanır:- image_processor.postprocess_masks (her mini toplu işlem döngüsünde çalıştırılır): ham çıktı maskelerini alır, bunları görüntü boyutuna göre yeniden boyutlandırır ve ikili maskelere dönüştürür.
- image_processor.filter_masks (her mini toplu işlem döngüsünde): hem
pred_iou_threshhem destability_scoreskullanır. Ayrıca kötü maskeleri kaldırmak için maksimum olmayan baskılama (non maximum suppression) tabanlı çeşitli filtreler uygular. - image_processor.postprocess_masks_for_amg, mask üzerinde NSM uygulayarak yalnızca ilgili olanları korur.
Örnek:
>>> from transformers import pipeline
>>> generator = pipeline(model="facebook/sam-vit-base", task="mask-generation")
>>> outputs = generator(
... "http://images.cocodataset.org/val2017/000000039769.jpg",
... )
>>> outputs = generator(
... "https://huggingface.co/datasets/Narsil/image_dummy/raw/main/parrots.png", points_per_batch=128
... )Bir pipeline kullanmanın temelleri hakkında daha fazla bilgi için pipeline öğreticisine göz atın
Bu segmentasyon hattı şu anda "mask-generation" görev tanımlayıcısını kullanarak pipeline() üzerinden yüklenebilir.
huggingface.co/models adresindeki kullanılabilir modellerin listesine bakın.
__call__
< source >( image: typing.Union[str, ForwardRef('Image.Image'), list[str], list['Image.Image']]*args: Any**kwargs: Any ) → Dict
Parametreler
- image (
str,List[str],PIL.ImageveyaList[PIL.Image]) — Görsel veya görsel listesi. - mask_threshold (
float, isteğe bağlı, varsayılan 0.0) — Tahmin edilen maskelerin ikili değerlere dönüştürülürken kullanılacak eşik. - pred_iou_thresh (
float, isteğe bağlı, varsayılan 0.88) — Modelin tahmin ettiği maske kalitesine[0,1]aralığında uygulanan bir filtreleme eşiği. - stability_score_thresh (
float, isteğe bağlı, varsayılan 0.95) — Modelin maske tahminlerini ikili hale getirmek için kullanılan eşiğin değişimlerine karşı maskenin kararlılığını kullanarak[0,1]aralığında bir filtreleme eşiği. - stability_score_offset (
int, isteğe bağlı, varsayılan 1) — Kararlılık puanı hesaplanırken kesme noktasının kaydırılacağı miktar. - crops_nms_thresh (
float, isteğe bağlı, varsayılan 0.7) — Yinelenen maskeleri filtrelemek için non-maximal suppression tarafından kullanılan kutu IoU eşiği. - crops_n_layers (
int, isteğe bağlı, varsayılan 0) —crops_n_layers>0ise, maske tahmini görüntünün kırpılmış bölümleri üzerinde tekrar çalıştırılır. Çalıştırılacak katman sayısını belirler; her katman 2**i_layer adet görüntü kırpma içerir. - crop_overlap_ratio (
float, isteğe bağlı, varsayılan512 / 1500) — Kesimlerin (crop) ne ölçüde üst üste geleceğini belirler. İlk kesim katmanında, kesimler görüntü uzunluğunun bu oranında üst üste gelir. Daha fazla kesim içeren sonraki katmanlarda bu örtüşme oranı ölçeklenerek azaltılır. - crop_n_points_downscale_factor (
int, isteğe bağlı, varsayılan1) — n. katmanda kenar başına örneklenen nokta sayısı, crop_n_points_downscale_factor**n ile ölçeklenir. - timeout (
float, isteğe bağlı, varsayılan None) — Web'den görüntüleri almak için beklenecek maksimum süre (saniye cinsinden). None ise zaman aşımı ayarlanmaz ve çağrı sonsuza kadar bloklanabilir.
Dönüş değeri
Dict
Aşağıdaki anahtarlara sahip bir sözlük:
- mask (
PIL.Image) — Algılanan nesnenin, orijinal görüntünün(width, height)boyutlarında bir PIL Image olarak ikili maskesi. Nesne bulunamazsa sıfırlarla dolu bir maske döndürür. - score (isteğe bağlı
float) — Etiket ve maskenin tanımladığı “nesne” için modelin bir güven düzeyi tahmin edebilme yeteneğine sahip olduğunda, isteğe bağlı olarak.
İkili segmentasyon maskeleri üretir
Üst sınıf: Pipeline
sınıf transformers.Pipeline
< source >( model: PreTrainedModeltokenizer: PreTrainedTokenizer | None = Nonefeature_extractor: PreTrainedFeatureExtractor | None = Noneimage_processor: BaseImageProcessor | None = Nonevideo_processor: BaseVideoProcessor | None = Noneprocessor: ProcessorMixin | None = Nonetask: str = ''device: int | torch.device | None = Nonebinary_output: bool = False**kwargs )
Parametreler
- model (PreTrainedModel) — Pipeline'in tahminler yapmak için kullanacağı model. Bu, PreTrainedModel'den türeyen bir model olmalıdır.
- tokenizer (PreTrainedTokenizer) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı tokenizer. Bu nesne PreTrainedTokenizer sınıfından türetilir.
- feature_extractor (SequenceFeatureExtractor) — Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı özellik çıkarıcı (feature extractor). Bu nesne SequenceFeatureExtractor sınıfından türetilir.
- image_processor (BaseImageProcessor) — Hattın (pipeline), model için verileri kodlamak (encode) üzere kullanacağı görüntü işleyici. Bu nesne BaseImageProcessor sınıfından türetilir.
- processor (ProcessorMixin) —
Hattın (pipeline) model için verileri kodlamak (encode) üzere kullanacağı işlemci (processor). Bu nesne ProcessorMixin sınıfından türetilir. İşlemci (Processor),
tokenizer,feature_extractorveimage_processorbileşenlerini içerebilen birleşik bir nesnedir. - task (
str, varsayılan"") — Hattın (pipeline) görev tanımlayıcısı. - num_workers (
int, isteğe bağlı, varsayılan 8) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken) kullanılacak işçi sayısı. - batch_size (
int, isteğe bağlı, varsayılan 1) — Hattın DataLoader kullanacağı durumlarda (veri seti geçirildiğinde, Pytorch modeli için GPU üzerindeyken), kullanılacak toplu işleme boyutu, çıkarım için bu her zaman faydalı olmayabilir, lütfen Hatlarla toplu işleme bölümünü okuyun. - args_parser (ArgumentHandler, isteğe bağlı) — Sağlanan pipeline parametrelerini ayrıştırmaktan sorumlu nesneye referans.
- device (
intveyastrveyatorch.device, isteğe bağlı) — Pipeline'in tahsis edildiği cihaz. Ayarlanmadığında, pipeline ilk kullanılabilir hızlandırıcıya (CUDA, MPS, XPU, …) yerleştirilir ve yalnızca hiçbiri kullanılamıyorsa CPU'ya geri düşer; model oraya otomatik olarak taşınır. CPU'yu zorlamak içindevice="cpu"(veya-1) geçin, belirli bir hızlandırıcı seçmek için pozitif bir sıra numarası veya"cuda:1"kullanın ya da yerel birtorch.device/strverin. Bu argüman,accelerateüzerinden zaten yüklenmiş bir modelle (yanihf_device_mapiçeren bir modelle) birleştirilemez. - dtype (
strveyatorch.dtype, isteğe bağlı, varsayılan"auto") — Modelin yüklendiği hassasiyet,from_pretrainedfonksiyonuna iletilir. Varsayılan olarak"auto"değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’inconfig.dtypealanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkçatorch.float16,torch.bfloat16,torch.float32, … gibi bir değer geçirin. - binary_output (
bool, isteğe bağlı, varsayılanFalse) — Hattın çıktısının seri biçimde (ör. pickle) mi yoksa ham çıktı verisi olarak (ör. metin) mı gerçekleşeceğini belirleyen bayrak.
Pipeline sınıfı, tüm pipeline'ların miras aldığı sınıftır. Farklı pipeline'lar arasında paylaşılan yöntemler için bu sınıfa başvurun.
Pipelene işlemleri uygulayan temel sınıf. Pipeline iş akışı, aşağıdaki işlemlerin bir dizisi olarak tanımlanır:
Girdi -> Tokenizasyon -> Model Çıkarımı -> Son İşleme (göreve bağlı) -> Çıktı
Pipeline, device argümanı (aşağıya bakın) aracılığıyla CPU veya GPU üzerinde çalışmayı destekler.
Örneğin FeatureExtractionPipeline ('feature-extraction') gibi bazı pipeline'lar, büyük tensor nesnelerini iç içe geçmiş listeler olarak çıktılar. Bu kadar büyük bir yapıyı metinsel veri olarak dışa aktarmaktan kaçınmak için binary_output yapıcı argümanını sunuyoruz. True olarak ayarlanırsa, çıktı pickle biçiminde saklanır.
check_model_type
< source >( supported_models: list[str] | dict )
Model sınıfının pipeline tarafından desteklenip desteklenmediğini kontrol edin.
Kullanıcının belirttiği cihazda tensör tahsisine izin veren Bağlam Yöneticisi.
ensure_tensor_on_device
< source >( **inputs ) → dict[str, torch.Tensor]
PyTorch tensörlerinin belirtilen cihazda olduğundan emin olun.
Postprocess, _forward metodunun ham çıktılarını (genellikle tensörler) alır ve bunları daha kullanışlı bir formata dönüştürür. Genellikle sonuçları (yalnızca dizeler ve sayılar içeren) bir liste veya sözlük olarak döndürür.
Transformers'ın pipeline'larına yönelik Scikit / Keras arayüzü. Bu yöntem call() yöntemine yönlendirilir.
Preprocess, belirli bir pipeline'ın input_'sünü alır ve _forward'in düzgün çalışması için gereken her şeyin yer aldığı bir sözlük döndürür. En az bir tensör içermelidir, ancak keyfi diğer öğeler de içerebilir.
push_to_hub
< source >( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )
Parametreler
- repo_id (
str) — Pipe'inizi göndermek istediğiniz depoyun adı. Belirli bir organizasyona gönderirken organizasyon adınızı içermelidir. - commit_message (
str, isteğe bağlı) — İterilirken iletilecek mesaj. Varsayılan olarak"Upload pipe"olur. - commit_description (
str, isteğe bağlı) — Oluşturulacak commit'in açıklaması - private (
bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı.None(varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır. - token (
boolveyastr, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton.True(varsayılan) ise,hf auth loginçalıştırıldığında oluşturulan jeton (~/.huggingfaceiçinde saklanır) kullanılır. - revision (
str, isteğe bağlı) — Yüklenen dosyaların itileceği dal. - create_pr (
bool, isteğe bağlı, varsayılanFalse) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı. - max_shard_size (
intveyastr, isteğe bağlı, varsayılan"50GB") — Yalnızca modeller için geçerlidir. Bir kontrol noktasının parçalanmadan önceki maksimum boyutu. Parçalanan kontrol noktalarının her biri bu boyuttan küçük olacaktır. Bir dize olarak ifade ediliyorsa, birimden (ör."5MB") önce rakamlar içermelidir. - tags (
list[str], isteğe bağlı) — Hub'a itilecek etiketlerin listesi.
Pipeline dosyasını 🤗 Model Hub'a yükleyin.
Örnekler:
from transformers import pipeline
pipe = pipeline("google-bert/bert-base-cased")
# Push the pipe to your namespace with the name "my-finetuned-bert".
pipe.push_to_hub("my-finetuned-bert")
# Push the pipe to an organization with the name "my-finetuned-bert".
pipe.push_to_hub("huggingface/my-finetuned-bert")save_pretrained
< source >( save_directory: str | os.PathLike**kwargs: Any )
Parametreler
- save_directory (
strveyaos.PathLike) — Kaydedilecek dizinin yolu. Var olmayan bir dizinse oluşturulur. - kwargs (
dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.
Hattın modelini ve belirteçleyicisini (tokenizer) kaydedin.
Transformers'ın pipeline'larına yönelik Scikit / Keras arayüzü. Bu yöntem call() yöntemine yönlendirilir.