Transformers documentation

Hattalar

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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:

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

< >

( 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:
  • model (str veya PreTrainedModel, isteğe bağlı) — Pipeline'ın tahminler yaparken kullanacağı model. Bu, bir model tanımlayıcısı veya PreTrainedModel.

    Sağlanmazsa, task için varsayılan yüklenir.

  • config (str veya 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, model verildiğinde onun varsayılan yapılandırmasının kullanılacağı anlamına gelir. Ancak model sağlanmazsa, bunun yerine task'ın varsayılan modelinin yapılandırması kullanılır.

  • tokenizer (str veya 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 model için varsayılan tokenizer yüklenecektir (bir dize ise). model belirtilmezse veya bir dize değilse, config için varsayılan tokenizer yüklenecektir (bir dize ise). Ancak, config de verilmezse veya bir dize değilse, verilen task için varsayılan tokenizer yüklenecektir.

  • feature_extractor (str veya 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 model için varsayılan özellik çıkarıcı yüklenecektir (bir dize ise). model belirtilmezse veya bir dize değilse, config için varsayılan özellik çıkarıcı yüklenecektir (bir dize ise). Ancak config de verilmezse veya bir dize değilse, verilen task için varsayılan özellik çıkarıcı yüklenecektir.

  • image_processor (str veya 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 model için varsayılan görüntü işleyici yüklenir (bir dize ise). model belirtilmezse veya bir dize değilse, config için varsayılan görüntü işleyici yüklenir (bir dize ise).

  • processor (str veya 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 model için varsayılan işlemci yüklenir (bir dize ise). model belirtilmezse veya bir dize değilse, config iç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 nedenle revision, git tarafından izin verilen herhangi bir tanımlayıcı olabilir.
  • use_fast (bool, isteğe bağlı, varsayılan True) — Mümkünse Fast bir tokenizer'ın (bir PreTrainedTokenizerFast) kullanılıp kullanılmayacağı.
  • token (str veya bool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. True ise, hf auth login çalıştırıldığında oluşturulan jeton kullanılır.
  • device (int veya str veya torch.device, isteğe bağlı) — Bu hattın (pipeline) tahsis edileceği cihazı (ör., "cpu", "cuda:1", "mps" veya 1 gibi 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çin device="cpu" (veya -1) geçin. device_map ile birlikte kullanılamaz.
  • device_map (str veya dict[str, Union[int, str, torch.device], isteğe bağlı) — doğrudan olarak gönderilir model_kwargs (sadece daha basit bir kısayol). accelerate kütüphanesi mevcut olduğunda, device_map="auto" en optimize device_map otomatik olarak hesaplanır (daha fazla bilgi için bkz. burası ).

    device_map ve device parametrelerini aynı anda kullanmayın, çünkü bunlar çelişir.

  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna 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ça torch.float16, torch.bfloat16, torch.float32, … geçirin.
  • trust_remote_code (bool, isteğe bağlı, varsayılan False) — 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çin True olarak ayarlanmalıdır; çünkü Hub'da bulunan kodu yerel makinenizde çalıştırır.
  • model_kwargs (dict[str, Any], isteğe bağlı) — Modelin from_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

Pipeline

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 model

Ancak 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" * n

Bu, 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ı

Yeni bir pipeline uygulaması

Ses

Ses görevleri için kullanılabilir olanlar şunlardır.

AudioClassificationPipeline

sınıf transformers.AudioClassificationPipeline

< >

( *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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( inputs: numpy.ndarray | bytes | str | dict**kwargs: Any ) → A list of dict with the following keys

Parametreler

  • inputs (np.ndarray veya bytes veya str veya dict) — 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, ), tipi np.float32 veya np.float64) Doğru örneklem hızına sahip ham ses (ek bir kontrol yapılmayacaktır)
    • dict biçimi, keyfi sampling_rate ile ö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.
  • 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ı None ise 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şik None değ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

< >

( 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ğeri None olarak 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__

< >

( inputs: numpy.ndarray | bytes | str | dict**kwargs: Any ) → Dict

Parametreler

  • inputs (np.ndarray veya bytes veya str veya dict) — 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, ), tipi np.float32 veya np.float64) Doğru örneklem hızına sahip ham ses (ek bir kontrol yapılmayacaktır)
    • dict biçimi, sesin rastgele bir sampling_rate ile ö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 ilk left ve son right örneklerin yok sayılmasını (ancak çıkarım sırasında modele daha fazla bağlam sağlamak için kullanılmasını) isteyebilir. stride yalnızca CTC modelleriyle kullanın.
  • return_timestamps (isteğe bağlı, str veya bool) — 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” harfinin 0.5 saniyeden sonra ve 0.6 saniyeden ö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” kelimesinin 0.5 saniyeden sonra ve 0.9 saniyeden ö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!” segmentinin 0.5 saniyeden sonra ve 1.5 saniyeden ö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ılacak generate_config iç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_timestamps kullanıldığında, chunks modelin 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

< >

( *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_params veya TextToAudioPipeline.__call__.generate_kwargs kullanarak 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__

< >

( text_inputs**forward_params ) → AudioOutput or a list of AudioOutput, which is a TypedDict with two keys

Parametreler

  • text_inputs (str, list[str], ChatType veya list[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_params her zaman alttaki modele aktarılır.
  • generate_kwargs (dict, isteğe bağlı) — Üretim çağrısında kullanılacak generate_config için ad-hoc parametrelendirme sözlüğü. generate hakkında tam bir genel bakış için şu kılavuza bakın. generate_kwargs yalnızca alttaki model üretken bir modelse ona iletilir ve forward_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

< >

( **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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( audios: numpy.ndarray | bytes | str | dict**kwargs: Any )

Parametreler

  • audios (str, list[str], np.array veya list[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

< >

( *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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( inputs: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]**kwargs: Any )

Parametreler

  • inputs (str, list[str], PIL.Image veya list[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 belirleyen timeout'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

< >

( *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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( inputs: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]**kwargs: Any )

Parametreler

  • inputs (str, list[str], PIL.Image veya list[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

< >

( *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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( inputs: typing.Union[str, ForwardRef('Image.Image'), list[str], list['Image.Image']]**kwargs: Any )

Parametreler

  • inputs (str, list[str], PIL.Image veya list[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, instance ve panoptic] 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

sınıf transformers.KeypointMatchingPipeline

< >

( *args**kwargs )

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__

< >

( 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.Image veya list[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

< >

( *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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( *args**kwargs )

Parametreler

  • inputs (str, list[str], PIL.Image veya list[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

< >

( *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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( 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ılan self.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şik None değ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

< >

( **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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( image: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]candidate_labels: list**kwargs: Any )

Parametreler

  • image (str, list[str], PIL.Image veya list[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

< >

( **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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( 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.Image veya list[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

< >

( 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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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 (str veya list[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__

< >

( inputs: str | list[str]**kwargs: Any ) → A list or a list of list of dict

Parametreler

  • inputs (str veya list[str]) — Maskelenmiş token'lar içeren bir veya birden fazla metin (veya bir istem listesi).
  • targets (str veya list[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

< >

( 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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( *args**kwargs ) → A dictionary or a list of dictionaries containing results

Parametreler

  • table (pd.DataFrame veya Dict) — 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 (str veya list[str]) — Tablo ile birlikte modele gönderilecek sorgu veya sorgu listesi.
  • sequential (bool, isteğe bağlı, varsayılan False) — Çı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, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya '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_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, str veya TapasTruncationStrategy, isteğe bağlı, varsayılan olarak False) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'drop_rows_to_fit': Satırları, max_length argü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.
    • False veya '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, cevap AGGREGATOR > 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:

Örnek:

import pandas as pd

table = pd.DataFrame.from_dict(data)

TextClassificationPipeline

sınıf transformers.TextClassificationPipeline

< >

( **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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( inputs: str | list[str] | dict[str, str] | list[dict[str, str]]**kwargs: Any ) → A list of dict

Parametreler

  • inputs (str veya list[str] veya dict[str], ya da list[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ılan 1) — 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

< >

( *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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( text_inputs**kwargs ) → A list or a list of lists of dict

Parametreler

  • text_inputs (str, list[str], ChatType veya list[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ılan False) — Çıktılarda tahminlerin tensörlerini (token dizinleri olarak) döndürür. True olarak 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ılan True) — False olarak ayarlanırsa yalnızca eklenen metin döndürülür, aksi halde tam metin döndürülür. return_text ile 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'ın clean_up_tokenization_spaces ayarı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ü assistant ise bu değer True, aksi halde False olur; ancak bu bayrağı ayarlayarak bu davranışı manuel olarak geçersiz kılabilirsiniz.
  • prefix (str, isteğe bağlı) — İfadeye eklenen önek.
  • stop_sequence (str veya list[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_template fonksiyonuna 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=True olduğunda mevcut) — Üretilen metin.
  • generated_token_ids (torch.Tensor, return_tensors=True olduğunda mevcut) — Üretilen metnin token kimlikleri.

Girdi olarak verilen istem(leri) tamamlayın.

TokenClassificationPipeline

sınıf transformers.TokenClassificationPipeline

< >

( 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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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 ve aggregation_strategy değeri NONE'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ımda tokenizer.model_max_length - stride token 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) SIMPLE stratejisini 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) SIMPLE stratejisini 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) SIMPLE stratejisini 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__

< >

( inputs: str | list[str]**kwargs: Any ) → A list or a list of list of dict

Parametreler

  • inputs (str veya List[str]) — Token sınıflandırma için bir veya birden fazla metin (veya metinlerden oluşan bir liste). is_split_into_words=True olduğ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ız start ve end kullanın.
  • score (float) — entity iç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ızca aggregation_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.

aggregate_words

< >

( entities: listaggregation_strategy: AggregationStrategy )

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

< >

( 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

< >

( entities: list )

Parametreler

  • entities (dict) — Hattın tahmin ettiği varlıklar.

Aynı varlık tahmini yapılmış bitişik jetonları bulun ve bir araya getirin.

group_sub_entities

< >

( entities: list )

Parametreler

  • entities (dict) — Hattın tahmin ettiği varlıklar.

Aynı varlık tahmini yapılmış bitişik token'ları bir araya getirin.

ZeroShotClassificationPipeline

sınıf transformers.ZeroShotClassificationPipeline

< >

( 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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( sequences: str | list[str]*args**kwargs ) → A dict or a list of dict

Parametreler

  • sequences (str veya list[str]) — Sınıflandırılacak dizi(ler), model girdisi çok büyükse kırpılır.
  • candidate_labels (str veya list[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ılan False) — Birden fazla aday etiketin doğru olup olamayacağı. False ise, her dizi için etiket olasılıklarının toplamının 1 olacağı şekilde puanlar normalize edilir. True ise, 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

< >

( *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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( 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 (str veya 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ü 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ılan False) — İ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ğlanan word_boxes içinde).
  • end (int) — Cevabın son kelime indeksi (girdinin OCR edilmiş sürümünde veya sağlanan word_boxes iç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

< >

( 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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.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ı) — True ise, 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__

< >

( *args: str | list[str]**kwargs: Any ) → A nested list of float

Parametreler

  • args (str veya list[str]) — Özellikleri alınacak bir veya birden fazla metin (veya metinlerden oluşan bir liste).

Dönüş değeri

float iç içe listesi

Model tarafından hesaplanan özellikler.

Girdi metinlerinin özelliklerini çıkarın.

ImageFeatureExtractionPipeline

sınıf transformers.ImageFeatureExtractionPipeline

< >

( 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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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ılan False) — Havuzlanmış çıktının döndürülüp döndürülmeyeceği. False ise 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__

< >

( *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.Image veya list[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

< >

( *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_extractor ve image_processor bileş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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( 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ılan False) — Çıktılarda tahminlerin tensörlerini (token dizinleri olarak) döndürür. True olarak 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ılan True) — False olarak ayarlanırsa yalnızca eklenen metin döndürülür, aksi halde tam metin döndürülür. return_text ile 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'ın clean_up_tokenization_spaces ayarı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ü assistant ise bu değer True, aksi halde False olur; 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=True olduğunda mevcut) — Üretilen metin.
  • generated_token_ids (torch.Tensor, return_tensors=True olduğ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

< >

( *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_extractor ve image_processor bileş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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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__

< >

( 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ılan False) — Çıktılarda tahminlerin tensörlerini (token dizinleri olarak) döndürür. True olarak 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ılan True) — False olarak ayarlanırsa yalnızca eklenen metin döndürülür, aksi halde tam metin döndürülür. return_text ile 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'ın clean_up_tokenization_spaces ayarı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ü assistant ise bu değer True, aksi halde False olur; 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=True ve generation_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=True ve generation_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

< >

( **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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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ılan False) — Sınır kutusu tahminlerinin çıkarılıp çıkarılmayacağı.
  • output_rle_masks (bool, isteğe bağlı, varsayılan False) — Maskelerin RLE biç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:

  1. 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_boxes fonksiyonuna bakın. Görüntü ayrıca image_processor kullanılarak ön işlenir. Bu fonksiyon points_per_batch içeren bir mini topu yields eder.

  2. forward: preprocess çıktılarını modele iletir. Gömme (embedding) yalnızca bir kez hesaplanır. Hem self.model.get_image_embeddings çağrılır hem de gradyanların hesaplanmadığından, tensörlerin ve modellerin aynı cihazda olduğundan emin olunur.

  3. 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_thresh hem de stability_scores kullanı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__

< >

( image: typing.Union[str, ForwardRef('Image.Image'), list[str], list['Image.Image']]*args: Any**kwargs: Any ) → Dict

Parametreler

  • image (str, List[str], PIL.Image veya List[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>0 ise, 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ılan 512 / 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ılan 1) — 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

< >

( 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_extractor ve image_processor bileş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 (int veya str veya torch.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çin device="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 bir torch.device/str verin. Bu argüman, accelerate üzerinden zaten yüklenmiş bir modelle (yani hf_device_map içeren bir modelle) birleştirilemez.
  • dtype (str veya torch.dtype, isteğe bağlı, varsayılan "auto") — Modelin yüklendiği hassasiyet, from_pretrained fonksiyonuna iletilir. Varsayılan olarak "auto" değerini alır; bu, modelin kaydedildiği dtype ile yüklenmesini sağlar (checkpoint’in config.dtype alanından okunur, aksi halde ağırlıklardan çıkarılır). Bunu geçersiz kılmak için açıkça torch.float16, torch.bfloat16, torch.float32, … gibi bir değer geçirin.
  • binary_output (bool, isteğe bağlı, varsayılan False) — 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

< >

( supported_models: list[str] | dict )

Parametreler

  • supported_models (list[str] veya dict) — Pipeline tarafından desteklenen modellerin listesi veya model sınıfı değerlerine sahip bir sözlük.

Model sınıfının pipeline tarafından desteklenip desteklenmediğini kontrol edin.

cihaz_yerleşimi

< >

( )

Kullanıcının belirttiği cihazda tensör tahsisine izin veren Bağlam Yöneticisi.

Örnekler:

# Explicitly ask for tensor allocation on CUDA device :0
pipe = pipeline(..., device=0)
with pipe.device_placement():
    # Every tensor allocation will be done on the request device
    output = pipe(...)

ensure_tensor_on_device

< >

( **inputs ) → dict[str, torch.Tensor]

Parametreler

  • inputs (torch.Tensor olması gereken anahtar kelime argümanları, diğerleri yok sayılır) — self.device üzerine yerleştirilecek tensörler.
  • Listelerde Recursive sadece. —

Dönüş değeri

dict[str, torch.Tensor]

inputs ile aynı ancak doğru cihazda.

PyTorch tensörlerinin belirtilen cihazda olduğundan emin olun.

postprocess

< >

( model_outputs: ModelOutput**postprocess_parameters: dict )

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.

predict

< >

( X )

Transformers'ın pipeline'larına yönelik Scikit / Keras arayüzü. Bu yöntem call() yöntemine yönlendirilir.

ön işleme

< >

( input_: Any**preprocess_parameters: dict )

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

< >

( 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 (bool veya str, 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 ( ~/.huggingface iç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ılan False) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.
  • max_shard_size (int veya str, 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

< >

( save_directory: str | os.PathLike**kwargs: Any )

Parametreler

  • save_directory (str veya os.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.

dönüştür

< >

( X )

Transformers'ın pipeline'larına yönelik Scikit / Keras arayüzü. Bu yöntem call() yöntemine yönlendirilir.

Update on GitHub