Transformers documentation
Pipelines
Pipelines
Pipelines adalah cara yang hebat dan mudah untuk menggunakan model untuk inferensi. Pipelines ini adalah objek yang mengabstraksi sebagian besar kode kompleks dari pustaka, menawarkan API sederhana yang didedikasikan untuk beberapa tugas, termasuk Named Entity Recognition, Masked Language Modeling, Sentiment Analysis, Feature Extraction, dan Question Answering. Lihat daftar tugas untuk contoh penggunaan.
Ada dua kategori abstraksi pipeline yang perlu diperhatikan:
- pipeline() adalah objek paling ampuh yang mengenkapsulasi semua pipeline lainnya.
- Pipeline khusus tugas tersedia untuk tugas audio, computer vision, natural language processing, dan multimodal.
Abstraksi pipeline
Abstraksi pipeline adalah pembungkus di sekitar semua pipeline lain yang tersedia. Abstraksi ini diinstansiasi seperti pipeline lainnya, tetapi dapat menyediakan peningkatan kenyamanan tambahan.
Panggilan sederhana pada satu item:
>>> pipe = pipeline("text-classification")
>>> pipe("This restaurant is awesome")
[{'label': 'POSITIVE', 'score': 0.9998743534088135}]Jika Anda ingin menggunakan model tertentu dari hub, Anda dapat mengabaikan tugas jika model di hub sudah mendefinisikannya:
>>> pipe = pipeline(model="FacebookAI/roberta-large-mnli")
>>> pipe("This restaurant is awesome")
[{'label': 'NEUTRAL', 'score': 0.7313136458396912}]Untuk memanggil pipeline pada banyak item, Anda dapat memanggilnya dengan list.
>>> pipe = pipeline("text-classification")
>>> pipe(["This restaurant is awesome", "This restaurant is awful"])
[{'label': 'POSITIVE', 'score': 0.9998743534088135},
{'label': 'NEGATIVE', 'score': 0.9996669292449951}]Untuk mengiterasi dataset penuh, disarankan untuk menggunakan dataset secara langsung. Artinya, Anda tidak perlu mengalokasikan seluruh dataset sekaligus, dan tidak perlu melakukan batching secara manual. Cara ini seharusnya berjalan sama cepatnya dengan loop kustom di GPU. Jika tidak, jangan ragu untuk membuat issue.
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": ....}
# ....Untuk kemudahan penggunaan, generator juga tersedia:
from transformers import pipeline
pipe = pipeline("text-classification")
def data():
while True:
# This could come from a dataset, a database, a queue or HTTP request
# in a server
# Caveat: because this is iterative, you cannot use `num_workers > 1` variable
# to use multiple threads to preprocess data. You can still have 1 thread that
# does the preprocessing while the main runs the big inference
yield "This is a test"
for out in pipe(data()):
print(out)
# {"text": "NUMBER TEN FRESH NELLY IS WAITING ON YOU GOOD NIGHT HUSBAND"}
# {"text": ....}
# ....transformers.pipeline
< source >( task: str | None = Nonemodel: str | PreTrainedModel | None = Noneconfig: str | PreTrainedConfig | None = Nonetokenizer: str | PreTrainedTokenizer | PreTrainedTokenizerFast | None = Nonefeature_extractor: str | FeatureExtractionMixin | None = Noneimage_processor: str | BaseImageProcessor | None = Nonevideo_processor: str | BaseVideoProcessor | None = Noneprocessor: str | ProcessorMixin | None = Nonerevision: str | None = Noneuse_fast: bool = Truetoken: str | bool | None = Nonedevice: int | str | torch.device | None = Nonedevice_map: str | dict[str, int | str] | None = Nonedtype: str | torch.dtype | None = 'auto'trust_remote_code: bool | None = Nonemodel_kwargs: dict[str, Any] | None = Nonepipeline_class: Any | None = None**kwargs: Any ) → Pipeline
Parameter
- task (
str) — Tugas yang menentukan pipeline mana yang akan dikembalikan. Tugas yang saat ini diterima adalah:"audio-classification": akan mengembalikan AudioClassificationPipeline."automatic-speech-recognition": akan mengembalikan AutomaticSpeechRecognitionPipeline."depth-estimation": akan mengembalikan DepthEstimationPipeline."document-question-answering": akan mengembalikan DocumentQuestionAnsweringPipeline."feature-extraction": akan mengembalikan FeatureExtractionPipeline."fill-mask": akan mengembalikan FillMaskPipeline:."image-classification": akan mengembalikan ImageClassificationPipeline."image-feature-extraction": akan mengembalikan ImageFeatureExtractionPipeline."image-segmentation": akan mengembalikan ImageSegmentationPipeline."image-text-to-text": akan mengembalikan ImageTextToTextPipeline."keypoint-matching": akan mengembalikan KeypointMatchingPipeline."mask-generation": akan mengembalikan MaskGenerationPipeline."object-detection": akan mengembalikan ObjectDetectionPipeline."table-question-answering": akan mengembalikan TableQuestionAnsweringPipeline."text-classification"(alias"sentiment-analysis"tersedia): akan mengembalikan TextClassificationPipeline."text-generation": akan mengembalikan TextGenerationPipeline:."text-to-audio"(alias"text-to-speech"tersedia): akan mengembalikan TextToAudioPipeline:."token-classification"(alias"ner"tersedia): akan mengembalikan TokenClassificationPipeline."video-classification": akan mengembalikan VideoClassificationPipeline."zero-shot-classification": akan mengembalikan ZeroShotClassificationPipeline."zero-shot-image-classification": akan mengembalikan ZeroShotImageClassificationPipeline."zero-shot-audio-classification": akan mengembalikan ZeroShotAudioClassificationPipeline."zero-shot-object-detection": akan mengembalikan ZeroShotObjectDetectionPipeline.
- model (
stratau PreTrainedModel, opsional) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini bisa berupa pengidentifikasi model atau instance aktual dari model pretrained yang mewarisi dari PreTrainedModel.Jika tidak disediakan, nilai default untuk
taskakan dimuat. - config (
stratau PreTrainedConfig, opsional) — Konfigurasi yang akan digunakan oleh pipeline untuk menginstansiasi model. Ini bisa berupa pengidentifikasi model atau konfigurasi model pretrained yang mewarisi dari PreTrainedConfig.Jika tidak diberikan, file konfigurasi default untuk model yang diminta akan digunakan. Artinya, jika
modeldiberikan, konfigurasi defaultnya akan digunakan. Namun, jikamodeltidak disuplai, konfigurasi model default untuktaskini yang digunakan sebagai gantinya. - tokenizer (
stratau PreTrainedTokenizer, opsional) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Ini bisa berupa pengidentifikasi model atau tokenizer pretrained yang mewarisi dari PreTrainedTokenizer. Jika tidak disediakan, tokenizer default untuk model yang diberikan akan dimuat (jika berupa string). Jika model tidak ditentukan atau bukan string, maka tokenizer default untuk config akan dimuat (jika berupa string). Namun, jika config juga tidak diberikan atau bukan string, maka tokenizer default untuk tugas yang diberikan akan dimuat..Jika tidak diberikan, tokenizer default untuk
modelyang diberikan akan dimuat (jika berupa string). Jikamodeltidak ditentukan atau bukan string, maka tokenizer default untukconfigakan dimuat (jika berupa string). Namun, jikaconfigjuga tidak diberikan atau bukan string, maka tokenizer default untuktaskyang diberikan akan dimuat. - feature_extractor (
stratau FeatureExtractionMixin, opsional) — Feature extractor yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Ini bisa berupa pengidentifikasi model atau feature extractor pretrained yang mewarisi dari FeatureExtractionMixin. Feature extractor digunakan untuk model non-NLP, seperti model Speech atau Vision, serta model multi-modal. Model multi-modal juga memerlukan tokenizer yang diteruskan. Jika tidak disediakan, feature extractor default untuk model yang diberikan akan dimuat (jika berupa string). Jika model tidak ditentukan atau bukan string, maka feature extractor default untuk config akan dimuat (jika berupa string). Namun, jika config juga tidak diberikan atau bukan string, maka feature extractor default untuk tugas yang diberikan akan dimuat..Feature extractor digunakan untuk model non-NLP, seperti model Speech atau Vision, serta model multi-modal. Model multi-modal juga memerlukan tokenizer untuk diteruskan.
Jika tidak diberikan, feature extractor default untuk
modelyang diberikan akan dimuat (jika berupa string). Jikamodeltidak ditentukan atau bukan string, maka feature extractor default untukconfigakan dimuat (jika berupa string). Namun, jikaconfigjuga tidak diberikan atau bukan string, maka feature extractor default untuktaskyang diberikan akan dimuat. - image_processor (
stratau BaseImageProcessor, opsional) — Image processor yang akan digunakan oleh pipeline untuk mempreprocess gambar untuk model. Ini bisa berupa identifikasi model atau image processor aktual yang mewarisi dari BaseImageProcessor. Image processor digunakan untuk model Vision dan model multi-modal yang memerlukan input gambar. Model multi-modal juga memerlukan tokenizer untuk diteruskan. Jika tidak disediakan, image processor default untuk model yang diberikan akan dimuat (jika berupa string). Jika model tidak ditentukan atau bukan string, maka image processor default untuk config akan dimuat (jika berupa string)..Image processor digunakan untuk model Vision dan model multi-modal yang memerlukan input gambar. Model multi-modal juga memerlukan tokenizer untuk diteruskan.
Jika tidak diberikan, pemroses gambar default untuk
modelyang diberikan akan dimuat (jika berupa string). Jikamodeltidak ditentukan atau bukan string, maka pemroses gambar default untukconfigakan dimuat (jika berupa string). - processor (
stratau ProcessorMixin, opsional) — Processor yang akan digunakan oleh pipeline untuk memproses data awal bagi model. Ini bisa berupa pengidentifikasi model atau processor aktual yang mewarisi dari ProcessorMixin. Processor digunakan untuk model multi-modal yang memerlukan input multi-modal, misalnya model yang membutuhkan input teks dan gambar. Jika tidak disediakan, processor default untuk model yang diberikan akan dimuat (jika berupa string). Jika model tidak ditentukan atau bukan string, maka processor default untuk config akan dimuat (jika berupa string)..Processors digunakan untuk model multi-modal yang memerlukan input multi-modal, misalnya model yang membutuhkan input teks dan gambar.
Jika tidak diberikan, pemroses default untuk
modelyang diberikan akan dimuat (jika berupa string). Jikamodeltidak ditentukan atau bukan string, maka pemroses default untukconfigakan dimuat (jika berupa string). - revision (
str, opsional, default"main") — Saat meneruskan nama tugas atau pengidentifikasi model berupa string: Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, atau id commit, karena kami menggunakan sistem berbasis git untuk menyimpan model dan artefak lainnya di huggingface.co, sehinggarevisiondapat berupa pengidentifikasi apa pun yang diizinkan oleh git. - use_fast (
bool, opsional, defaultnyaTrue) — Apakah akan menggunakan Fast tokenizer jika memungkinkan (sebuah PreTrainedTokenizerFast). - token (
stratau bool, opsional) — Token yang akan digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. JikaTrue, akan menggunakan token yang dihasilkan saat menjalankanhf auth login. - device (
intataustratautorch.device, opsional) — Menentukan perangkat (mis.,"cpu","cuda:1","mps", atau peringkat ordinal GPU seperti1) tempat pipeline ini akan dialokasikan. Jika tidak disetel, pipeline secara otomatis ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya beralih ke CPU jika tidak ada yang tersedia; model akan dipindahkan ke sana untuk Anda. Berikandevice="cpu"(atau-1) untuk memaksa penggunaan CPU. Tidak dapat digunakan bersamaan dengandevice_map. - device_map (
strataudict[str, Union[int, str, torch.device], opsional) — Dikirim langsung sebagaimodel_kwargs(hanya pintasan yang lebih sederhana). Ketikaacceleratelibrarydevice_map="auto"untuk menghitungdevice_mapsecara otomatis (lihat di sini untuk informasi lebih lanjut).Jangan gunakan
device_mapDANdevicesecara bersamaan karena keduanya akan saling bertentangan - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan. Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - trust_remote_code (
bool, opsional, defaultFalse) — Apakah mengizinkan kode kustom yang didefinisikan di Hub pada file modeling, konfigurasi, tokenisasi, atau bahkan pipeline mereka. Opsi ini hanya harus diset keTrueuntuk repositori yang Anda percaya dan yang kodenya telah Anda baca, karena opsi ini akan mengeksekusi kode yang ada di Hub pada mesin lokal Anda. - model_kwargs (
dict[str, Any], opsional) — Kamus tambahan berisi argumen kata kunci yang diteruskan ke fungsifrom_pretrained(..., **model_kwargs)model. - kwargs (
dict[str, Any], opsional) — Argumen kata kunci tambahan yang diteruskan ke inisialisasi pipeline tertentu (lihat dokumentasi untuk kelas pipeline yang sesuai untuk nilai yang mungkin).
Mengembalikan
Pipeline yang sesuai untuk tugas tersebut.
Metode pabrik utilitas untuk membangun Pipeline.
Sebuah pipeline terdiri dari:
- Satu atau lebih komponen untuk pra-pemrosesan input model, seperti tokenizer, image_processor, feature_extractor, atau processor.
- Model yang menghasilkan prediksi dari input.
- Langkah-langkah pascapemrosesan opsional untuk menyempurnakan keluaran model, yang juga dapat ditangani oleh prosesor.
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.
Contoh:
>>> 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)Batching pipeline
Semua pipeline dapat menggunakan batching. Ini akan berfungsi
apabila pipeline menggunakan kemampuan streaming-nya (jadi saat meneruskan daftar atau Dataset atau generator).
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 modelNamun, hal ini tidak otomatis menjadi kemenangan untuk performa. Hasilnya bisa berupa percepatan 10x atau perlambatan 5x, tergantung pada perangkat keras, data, dan model yang sebenarnya digunakan.
Contoh di mana sebagian besar berupa peningkatan kecepatan:
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)
Contoh di mana sebagian besar adalah perlambatan:
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" * nIni adalah kalimat yang sangat panjang secara tidak biasa dibandingkan yang lain. Dalam kasus tersebut, seluruh batch harus memiliki panjang 400 token, sehingga seluruh batch akan menjadi [64, 400] alih-alih [64, 4], yang menyebabkan perlambatan yang signifikan. Lebih buruk lagi, pada batch yang lebih besar, program langsung crash.
------------------------------
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)Tidak ada solusi (umum) yang baik untuk masalah ini, dan hasilnya dapat bervariasi tergantung pada kasus penggunaan Anda. Aturan praktisnya:
Bagi pengguna, aturan praktisnya adalah:
Ukur kinerja pada beban kerja Anda, dengan perangkat keras Anda. Ukur, ukur, dan teruslah mengukur. Angka nyata adalah satu-satunya cara.
Jika Anda memiliki batasan latensi (produk live yang melakukan inferensi), jangan gunakan batch.
Jika Anda menggunakan CPU, jangan lakukan batching.
Jika Anda menggunakan throughput (Anda ingin menjalankan model Anda pada sejumlah data statis), di GPU, maka:
- Jika Anda tidak memiliki gambaran tentang ukuran sequence_length (data “alami”), secara default jangan lakukan batching, ukur, dan coba tambahkan secara sementara, serta tambahkan pemeriksaan OOM untuk pulih saat gagal (dan akan gagal pada suatu titik jika Anda tidak mengontrol sequence_length.)
- Jika sequence_length Anda sangat teratur, maka batching kemungkinan besar akan SANGAT menarik, ukur dan dorong hingga Anda mengalami OOM.
- Semakin besar GPU, semakin menarik penerapan batching
Begitu Anda mengaktifkan batching, pastikan Anda dapat menangani OOM dengan baik.
Batching chunk Pipeline
zero-shot-classification dan question-answering sedikit lebih spesifik, karena satu input dapat menghasilkan beberapa forward pass dari sebuah model. Dalam kondisi normal, hal ini akan menimbulkan masalah dengan argumen batch_size.
Untuk menghindari masalah ini, kedua pipeline ini sedikit spesifik, yaitu ChunkPipeline alih-alih Pipeline biasa. Singkatnya:
preprocessed = pipe.preprocess(inputs) model_outputs = pipe.forward(preprocessed) outputs = pipe.postprocess(model_outputs)
Sekarang menjadi:
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)Hal ini seharusnya sangat transparan bagi kode Anda karena pipeline digunakan dengan cara yang sama.
Ini adalah tampilan yang disederhanakan, karena pipeline dapat menangani batch secara otomatis untuk Anda! Artinya, Anda tidak perlu khawatir tentang berapa banyak forward pass yang sebenarnya akan dipicu oleh input Anda; Anda dapat mengoptimalkan batch_size secara independen dari input. Catatan dari bagian sebelumnya tetap berlaku.
Pipeline inferensi FP16
Model dapat dijalankan dalam FP16 yang dapat jauh lebih cepat di GPU sambil menghemat memori. Sebagian besar model tidak akan mengalami penurunan kinerja yang signifikan dari hal ini. Semakin besar modelnya, semakin kecil kemungkinan hal itu terjadi.
Untuk mengaktifkan inferensi FP16, Anda cukup meneruskan dtype=torch.float16 atau dtype='float16' ke konstruktor pipeline. Perhatikan bahwa ini hanya berfungsi untuk model dengan backend PyTorch. Input Anda akan dikonversi ke FP16 secara internal.
Kode kustom Pipeline
Jika Anda ingin menimpa pipeline tertentu.
Jangan ragu untuk membuat issue untuk tugas yang sedang Anda kerjakan, karena tujuan dari pipeline adalah agar mudah digunakan dan mendukung sebagian besar kasus, sehingga transformers mungkin bisa mendukung use case Anda.
Jika Anda ingin mencobanya, Anda dapat:
- Subclass pipeline pilihan Anda
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)Hal tersebut seharusnya memungkinkan Anda untuk menulis semua kode kustom yang Anda inginkan.
Menerapkan pipeline
Mengimplementasikan pipeline baru
Audio
Pipelines yang tersedia untuk tugas audio mencakup yang berikut.
AudioClassificationPipeline
kelas transformers.AudioClassificationPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- feature_extractor (SequenceFeatureExtractor) — Ekstraktor fitur yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari SequenceFeatureExtractor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline klasifikasi audio menggunakan AutoModelForAudioClassification apa pun. Pipeline ini memprediksi kelas dari gelombang mentah atau file audio. Untuk file audio, ffmpeg harus diinstal untuk mendukung berbagai format audio.
Contoh:
>>> 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'}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "audio-classification".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( inputs: numpy.ndarray | bytes | str | dict**kwargs: Any ) → A list of dict with the following keys
Parameter
- inputs (
np.ndarrayataubytesataustrataudict) — inputs adalah salah satu dari:stryang merupakan nama file audio, file akan dibaca pada laju sampling yang benar untuk mendapatkan waveform menggunakan ffmpeg. Hal ini memerlukan ffmpeg terinstal di sistem.bytesseharusnya berisi konten file audio dan ditafsirkan oleh ffmpeg dengan cara yang sama.- (
np.ndarraydengan bentuk (n, ) bertipenp.float32ataunp.float64) Audio mentah pada laju sampling yang benar (tidak akan dilakukan pemeriksaan lebih lanjut) - Bentuk
dictdapat digunakan untuk meneruskan audio mentah yang disampel padasampling_ratearbitrer dan membiarkan pipeline ini melakukan resampling. Dict tersebut harus dalam format{"sampling_rate": int, "raw": np.array}atau{"sampling_rate": int, "array": np.array}, di mana kunci"raw"atau"array"digunakan untuk menunjukkan waveform audio mentah.
- top_k (
int, opsional, default None) — Jumlah label teratas yang akan dikembalikan oleh pipeline. Jika angka yang diberikan adalahNoneatau lebih besar dari jumlah label yang tersedia dalam konfigurasi model, nilainya akan default ke jumlah label. - function_to_apply (
str, opsional, default “softmax”) — Fungsi yang diterapkan ke output model. Secara default, pipeline akan menerapkan fungsi softmax ke output model. Opsi yang valid: [“softmax”, “sigmoid”, “none”]. Perhatikan bahwa meneruskanNonebawaan Python akan default ke “softmax”, sehingga Anda perlu meneruskan string “none” untuk menonaktifkan pascaproses apa pun.
Mengembalikan
Daftar dict dengan kunci-kunci berikut
- label (
str) — Label yang diprediksi. - score (
float) — Probabilitas yang sesuai.
Klasifikasikan urutan yang diberikan sebagai input. Lihat dokumentasi AutomaticSpeechRecognitionPipeline untuk informasi lebih lanjut.
AutomaticSpeechRecognitionPipeline
kelas transformers.AutomaticSpeechRecognitionPipeline
< source >( model: PreTrainedModelfeature_extractor: typing.Union[ForwardRef('SequenceFeatureExtractor'), str, NoneType] = Nonetokenizer: transformers.tokenization_python.PythonBackend | None = Nonedecoder: typing.Union[ForwardRef('BeamSearchDecoderCTC'), str, NoneType] = Nonedevice: typing.Union[int, ForwardRef('torch.device'), NoneType] = None**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- feature_extractor (SequenceFeatureExtractor, opsional) — Ekstraktor fitur yang akan digunakan oleh pipeline untuk mengkodekan waveform untuk model.
- tokenizer (PreTrainedTokenizer, opsional) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- decoder (
pyctcdecode.BeamSearchDecoderCTC, opsional) — BeamSearchDecoderCTC dari PyCTCDecode dapat diteruskan untuk decoding yang ditingkatkan dengan model bahasa. Lihat Wav2Vec2ProcessorWithLM untuk informasi lebih lanjut. - device (Union[
int,torch.device], opsional) — Ordinal perangkat untuk dukungan CPU/GPU. Mengatur ini keNoneakan memanfaatkan CPU, sedangkan nilai positif akan menjalankan model pada id perangkat CUDA yang terkait.
Pipeline yang bertujuan untuk mengekstrak teks ucapan yang terkandung di dalam beberapa audio.
Input dapat berupa gelombang mentah atau file audio. Dalam kasus file audio, ffmpeg harus diinstal untuk mendukung berbagai format audio
Kecuali model yang Anda gunakan secara eksplisit mengatur parameter generasi ini di file konfigurasinya
(generation_config.json), nilai default berikut akan digunakan:
- max_new_tokens: 256
- num_beams: 5
Contoh:
>>> 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.'}Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
__call__
< source >( inputs: numpy.ndarray | bytes | str | dict**kwargs: Any ) → Dict
Parameter
- inputs (
np.ndarrayataubytesataustrataudict) — inputs adalah salah satu dari:stryang merupakan nama file audio lokal atau alamat URL publik untuk mengunduh file audio. File akan dibaca pada laju sampling yang benar untuk mendapatkan waveform menggunakan ffmpeg. Hal ini memerlukan ffmpeg terinstal di sistem.bytesseharusnya berisi konten file audio dan ditafsirkan oleh ffmpeg dengan cara yang sama.- (
np.ndarraydengan bentuk (n, ) bertipenp.float32ataunp.float64) Audio mentah pada laju sampling yang benar (tidak akan dilakukan pemeriksaan lebih lanjut) - Bentuk
dictdapat digunakan untuk meneruskan audio mentah yang disampel padasampling_ratearbitrer dan membiarkan pipeline ini melakukan resampling. Dict harus dalam format{"sampling_rate": int, "raw": np.array}dengan opsional"stride": (left: int, right: int)yang dapat meminta pipeline untuk mengabaikanleftsampel pertama danrightsampel terakhir saat decoding (tetapi digunakan saat inferensi untuk menyediakan lebih banyak konteks ke model). Gunakanstridehanya dengan model CTC.
- return_timestamps (opsional,
strataubool) — Hanya tersedia untuk model CTC murni (Wav2Vec2, HuBERT, dll) dan model Whisper. Tidak tersedia untuk model sequence-to-sequence lainnya.Untuk model CTC, timestamp dapat mengambil salah satu dari dua format:
"char": pipeline akan mengembalikan timestamp bersama teks untuk setiap karakter dalam teks. Sebagai contoh, jika Anda mendapatkan[{"text": "h", "timestamp": (0.5, 0.6)}, {"text": "i", "timestamp": (0.7, 0.9)}], maka artinya model memprediksi bahwa huruf “h” diucapkan setelah0.5dan sebelum0.6detik."word": pipeline akan mengembalikan timestamp bersama teks untuk setiap kata dalam teks. Misalnya, jika Anda mendapatkan[{"text": "hi ", "timestamp": (0.5, 0.9)}, {"text": "there", "timestamp": (1.0, 1.5)}], maka artinya model memprediksi bahwa kata “hi” diucapkan setelah0.5dan sebelum0.9detik.
Untuk model Whisper, timestamp dapat mengambil salah satu dari dua format:
"word": sama seperti di atas untuk timestamp CTC tingkat kata. Timestamp tingkat kata diprediksi melalui algoritma dynamic-time warping (DTW), yaitu pendekatan untuk timestamp tingkat kata dengan memeriksa bobot cross-attention.True: pipeline akan mengembalikan timestamp bersama teks untuk segmen kata dalam teks. Sebagai contoh, jika Anda mendapatkan[{"text": " Hi there!", "timestamp": (0.5, 1.5)}], maka artinya model memprediksi bahwa segmen “Hi there!” diucapkan setelah0.5dan sebelum1.5detik. Perhatikan bahwa segmen teks merujuk pada urutan satu atau lebih kata, bukan kata individual seperti pada timestamp tingkat kata.
- generate_kwargs (
dict, opsional) — Kamus untuk parametrisasi ad-hoc darigenerate_configyang akan digunakan untuk panggilan generation. Untuk gambaran lengkap tentang generate, periksa panduan berikut.
Mengembalikan
Dict
Kamus dengan kunci-kunci berikut:
- text (
str): Teks yang dikenali. - chunks (opsional,
list[Dict]) Saat menggunakanreturn_timestamps,chunksakan menjadi daftar yang berisi semua potongan teks yang diidentifikasi oleh model, misalnya*[{"text": "hi ", "timestamp": (0.5, 0.9)}, {"text": "there", "timestamp": (1.0, 1.5)}]. Teks lengkap asli dapat dipulihkan secara kasar dengan melakukan"".join(chunk["text"] for chunk in output["chunks"]).
Transkripsikan urutan audio yang diberikan sebagai input ke dalam teks. Lihat dokumentasi AutomaticSpeechRecognitionPipeline untuk informasi lebih lanjut.
TextToAudioPipeline
kelas transformers.TextToAudioPipeline
< source >( *argsvocoder = Nonesampling_rate = Nonenoise_scheduler = None**kwargs )
Pipeline generasi teks-ke-audio menggunakan AutoModelForTextToWaveform atau AutoModelForTextToSpectrogram apa pun. Pipeline ini menghasilkan file audio dari teks input dan input kondisional opsional lainnya.
Kecuali model yang Anda gunakan secara eksplisit mengatur parameter generasi di generation_config.json, nilai default dari generation.configuration_utils.py._get_default_generation_params() akan digunakan.
- max_new_tokens: 256
Contoh:
>>> 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"]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Anda dapat menentukan parameter yang diteruskan ke model dengan menggunakan
TextToAudioPipeline.__call__.forward_paramsatauTextToAudioPipeline.__call__.generate_kwargs.Contoh:
>>> 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)
Pipeline ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "text-to-speech" atau "text-to-audio".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( text_inputs**forward_params ) → AudioOutput or a list of AudioOutput, which is a TypedDict with two keys
Parameter
- text_inputs (
str,list[str],ChatType, ataulist[ChatType]) — Satu atau beberapa teks untuk digenerate. Jika string atau daftar string yang dilewatkan, pipeline ini akan menghasilkan teks yang sesuai. Sebagai alternatif, sebuah “chat”, dalam bentuk daftar dict dengan kunci “role” dan “content”, dapat dilewatkan, atau daftar dari chat semacam itu. Ketika chat dilewatkan, template chat dari model akan digunakan untuk memformatnya sebelum dilewatkan ke model. - forward_params (
dict, opsional) — Parameter yang diteruskan ke metode generation/forward model.forward_paramsselalu diteruskan ke model yang mendasarinya. - generate_kwargs (
dict, opsional) — Kamus untuk parametrisasi ad-hoc darigenerate_configyang akan digunakan untuk panggilan generation. Untuk gambaran lengkap tentang generate, periksa panduan berikut.generate_kwargshanya diteruskan ke model dasar jika model tersebut adalah model generatif, dan memiliki prioritas lebih tinggi daripadaforward_params.
Mengembalikan
AudioOutput atau daftar AudioOutput, yang merupakan TypedDict dengan dua kunci
- audio (
np.ndarraydengan bentuk(nb_channels, audio_length)) — Gelombang audio yang dihasilkan. - sampling_rate (
int) — Laju sampling dari waveform audio yang dihasilkan.
Membuat ucapan/audio dari input. Lihat dokumentasi TextToAudioPipeline untuk informasi lebih lanjut.
ZeroShotAudioClassificationPipeline
kelas transformers.ZeroShotAudioClassificationPipeline
< source >( **kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- feature_extractor (SequenceFeatureExtractor) — Ekstraktor fitur yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari SequenceFeatureExtractor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline klasifikasi audio zero shot menggunakan ClapModel. Pipeline ini memprediksi kelas dari sebuah audio ketika Anda menyediakan audio dan seperangkat candidate_labels.
hypothesis_templatebawaan adalah :"This is a sound of {}.". Pastikan Anda memperbaruinya sesuai penggunaan Anda.
Contoh:
>>> 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'}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline. Pipeline klasifikasi audio ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "zero-shot-audio-classification". Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( audios: numpy.ndarray | bytes | str | dict**kwargs: Any )
Parameter
- audios (
str,list[str],np.arrayataulist[np.array]) — Pipeline ini menangani tiga jenis input:- String yang berisi tautan http yang mengarah ke audio
- String yang berisi path lokal ke audio
- Audio yang dimuat dalam numpy
- candidate_labels (
list[str]) — Label kandidat untuk audio ini. Label tersebut akan diformat menggunakan hypothesis_template. - hypothesis_template (
str, opsional, default"This is a sound of {}") — Format yang digunakan bersama candidate_labels untuk mencoba klasifikasi audio dengan mengganti placeholder dengan candidate_labels. Kirim ”{}” jika candidate_labels sudah diformat.
Beri label pada audio yang diteruskan sebagai input.
Visi komputer
Pipelines yang tersedia untuk tugas computer vision meliputi hal-hal berikut.
DepthEstimationPipeline
kelas transformers.DepthEstimationPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline estimasi kedalaman menggunakan AutoModelForDepthEstimation apa pun. Pipeline ini memprediksi kedalaman sebuah gambar.
Contoh:
>>> 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])Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline estimasi kedalaman ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "depth-estimation".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( inputs: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]**kwargs: Any )
Parameter
- inputs (
str,list[str],PIL.Imageataulist[PIL.Image]) — Pipeline ini menangani tiga jenis gambar:- String yang berisi tautan http yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu gambar atau batch gambar, yang kemudian harus diteruskan sebagai string. Gambar dalam batch harus semuanya dalam format yang sama: semuanya sebagai tautan http, semuanya sebagai path lokal, atau semuanya sebagai gambar PIL.
- parameters (
Dict, opsional) — Kamus nama argumen ke nilai parameter, untuk mengontrol perilaku pipeline. Satu-satunya parameter yang tersedia saat ini adalahtimeout, yaitu durasi waktu, dalam detik, yang pipeline harus tunggu sebelum menyerah mencoba mengunduh gambar. - timeout (
float, opsional, default None) — Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada timeout yang diatur dan pemanggilan dapat memblokir selamanya.
Prediksi kedalaman dari gambar yang diberikan sebagai input.
ImageClassificationPipeline
kelas transformers.ImageClassificationPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks. - function_to_apply (
str, opsional, defaultnya"default") — Fungsi yang diterapkan pada output model untuk mengambil skor. Menerima empat nilai yang berbeda:"default": jika model memiliki satu label, fungsi sigmoid akan diterapkan pada output. Jika model memiliki beberapa label, fungsi softmax akan diterapkan pada output."sigmoid": Menerapkan fungsi sigmoid pada output."softmax": Menerapkan fungsi softmax pada output."none": Tidak menerapkan fungsi apa pun pada output.
Pipeline klasifikasi gambar menggunakan AutoModelForImageClassification apa pun. Pipeline ini memprediksi kelas dari sebuah gambar.
Contoh:
>>> 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'}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline klasifikasi gambar ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "image-classification".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( inputs: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]**kwargs: Any )
Parameter
- inputs (
str,list[str],PIL.Imageataulist[PIL.Image]) — Pipeline ini menangani tiga jenis gambar:- String yang berisi tautan http yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu gambar atau batch gambar, yang kemudian harus diteruskan sebagai string. Gambar dalam batch harus semuanya dalam format yang sama: semuanya sebagai tautan http, semuanya sebagai path lokal, atau semuanya sebagai gambar PIL.
- function_to_apply (
str, opsional, default ke"default") — Fungsi yang diterapkan pada output model untuk mengambil skor. Menerima empat nilai yang berbeda:Jika argumen ini tidak ditentukan, maka fungsi-fungsi berikut akan diterapkan sesuai dengan jumlah label:
- Jika model memiliki satu label, fungsi sigmoid akan diterapkan pada output.
- Jika model memiliki beberapa label, fungsi softmax akan diterapkan pada output.
Nilai yang mungkin adalah:
"sigmoid": Menerapkan fungsi sigmoid pada output."softmax": Menerapkan fungsi softmax pada output."none": Tidak menerapkan fungsi apa pun pada output.
- top_k (
int, opsional, default 5) — Jumlah label teratas yang akan dikembalikan oleh pipeline. Jika angka yang diberikan lebih tinggi dari jumlah label yang tersedia dalam konfigurasi model, nilainya akan direset menjadi jumlah label tersebut. - timeout (
float, opsional, default None) — Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada timeout yang diatur dan pemanggilan dapat memblokir selamanya.
Tugaskan label ke gambar yang diteruskan sebagai input.
ImageSegmentationPipeline
kelas transformers.ImageSegmentationPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline segmentasi gambar menggunakan AutoModelForXXXSegmentation apa pun. Pipeline ini memprediksi mask objek dan kelasnya.
Contoh:
>>> 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)Pipeline segmentasi gambar ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "image-segmentation".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( inputs: typing.Union[str, ForwardRef('Image.Image'), list[str], list['Image.Image']]**kwargs: Any )
Parameter
- inputs (
str,list[str],PIL.Imageataulist[PIL.Image]) — Pipeline ini menangani tiga jenis gambar:- String yang berisi tautan HTTP(S) yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu gambar atau batch gambar. Gambar dalam batch harus semuanya dalam format yang sama: semuanya sebagai tautan HTTP(S), semuanya sebagai path lokal, atau semuanya sebagai gambar PIL.
- subtask (
str, opsional) — Tugas segmentasi yang akan dilakukan, pilih [semantic,instancedanpanoptic] sesuai dengan kemampuan model. Jika tidak diatur, pipeline akan mencoba menyelesaikan dengan urutan berikut:panoptic,instance,semantic. - threshold (
float, opsional, default 0.9) — Ambang probabilitas untuk menyaring mask prediksi. - mask_threshold (
float, opsional, default 0.5) — Ambang batas yang digunakan saat mengubah mask prediksi menjadi nilai biner. - overlap_mask_area_threshold (
float, opsional, default 0.5) — Ambang batas tumpang tindih mask untuk menghilangkan segmen kecil yang tidak terhubung. - timeout (
float, opsional, default None) — Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada timeout yang diatur dan pemanggilan dapat memblokir selamanya.
Lakukan segmentasi (deteksi masker & kelas) pada gambar yang diberikan sebagai input.
KeypointMatchingPipeline
Pipeline pencocokan titik kunci menggunakan AutoModelForKeypointMatching apa pun. Pipeline ini mencocokkan titik kunci antara dua gambar.
__call__
< source >( inputs: list[collections.abc.Sequence[typing.Union[ForwardRef('Image.Image'), str]]] | collections.abc.Sequence[typing.Union[ForwardRef('Image.Image'), str]]threshold: float = 0.0**kwargs: Any ) → Union[list[Match], list[list[Match]]]
Parameter
- inputs (
str,list[str],PIL.Imageataulist[PIL.Image]) — Pipeline ini menangani tiga jenis gambar:- String yang berisi tautan http yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu pasangan gambar atau batch pasangan gambar, yang kemudian harus diteruskan sebagai string. Gambar dalam batch harus semuanya dalam format yang sama: semuanya sebagai tautan http, semuanya sebagai path lokal, atau semuanya sebagai gambar PIL.
- threshold (
float, opsional, default 0.0) — Ambang batas yang digunakan untuk pencocokan titik kunci. Titik kunci yang dicocokkan dengan skor pencocokan yang lebih rendah akan disaring. Nilai 0 berarti semua titik kunci yang dicocokkan akan dikembalikan. - kwargs —
timeout (float, *optional*, defaults to None)Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada batas waktu yang ditetapkan dan pemanggilan dapat memblokir selamanya.
Mengembalikan
Union[list[Match], list[list[Match]]]
Daftar kecocokan atau daftar jika satu pasangan gambar diberikan, atau daftar dari daftar kecocokan jika batch pasangan gambar diberikan. Setiap kecocokan adalah kamus yang berisi kunci-kunci berikut:
- keypoint_image_0 (
Keypoint): Titik kunci pada gambar pertama (koordinat x, y). - keypoint_image_1 (
Keypoint): Titik kunci pada gambar kedua (koordinat x, y). - score (
float): Skor kecocokan antara dua titik kunci.
Temukan kecocokan antara titik-titik kunci dalam dua gambar.
ObjectDetectionPipeline
kelas transformers.ObjectDetectionPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline deteksi objek menggunakan AutoModelForObjectDetection apa pun. Pipeline ini memprediksi kotak pembatas (bounding box) dari objek dan kelasnya.
Contoh:
>>> 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.Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline deteksi objek ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "object-detection".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( *args**kwargs )
Parameter
- inputs (
str,list[str],PIL.Imageataulist[PIL.Image]) — Pipeline ini menangani tiga jenis gambar:- String yang berisi tautan HTTP(S) yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu gambar atau batch gambar. Gambar dalam batch harus semuanya dalam format yang sama: semuanya sebagai tautan HTTP(S), semuanya sebagai path lokal, atau semuanya sebagai gambar PIL.
- threshold (
float, opsional, default 0.5) — Probabilitas yang diperlukan untuk membuat prediksi. - timeout (
float, opsional, default None) — Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada timeout yang diatur dan pemanggilan dapat memblokir selamanya.
Deteksi objek (kotak pembatas & kelas) pada gambar yang diberikan sebagai input.
VideoClassificationPipeline
kelas transformers.VideoClassificationPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- video_processor (BaseVideoProcessor) — Pemroses video yang akan digunakan oleh pipeline untuk mengkodekan data video untuk model. Objek ini mewarisi dari BaseVideoProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline klasifikasi video menggunakan AutoModelForVideoClassification apa pun. Pipeline ini memprediksi kelas dari sebuah video.
Pipeline klasifikasi video ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "video-classification".
Lihat daftar model yang tersedia di huggingface.co/models.
Pipeline mendukung model yang menggunakan image processor (model video lama seperti VideoMAE, ViViT, dan TimeSformer) atau video processor (model yang lebih baru seperti VJEPA2). Jika keduanya ada, video processor yang diprioritaskan; jika keduanya tidak ditemukan, pipeline akan menampilkan error.
__call__
< source >( inputs: str | list[str] | None**kwargs )
Parameter
- inputs (
str,list[str]) — Pipeline menangani tiga jenis video:- String yang berisi tautan http yang mengarah ke video
- String yang berisi path lokal ke video
Pipeline menerima satu video atau batch video, yang kemudian harus diteruskan sebagai string. Semua video dalam batch harus dalam format yang sama: semuanya sebagai tautan http atau semuanya sebagai path lokal.
- top_k (
int, opsional, default 5) — Jumlah label teratas yang akan dikembalikan oleh pipeline. Jika angka yang diberikan lebih tinggi dari jumlah label yang tersedia dalam konfigurasi model, nilainya akan direset menjadi jumlah label tersebut. - num_frames (
int, opsional, defaultself.model.config.num_frames) — Jumlah frame yang diambil dari video untuk menjalankan klasifikasi. Jika tidak diberikan, akan menggunakan jumlah frame yang ditentukan dalam konfigurasi model. - frame_sampling_rate (
int, opsional, default 1) — Laju sampling yang digunakan untuk memilih frame dari video. Jika tidak diberikan, akan default ke 1, yaitu setiap frame akan digunakan. - function_to_apply(
str, optional, defaultnya “softmax”) — Fungsi yang diterapkan ke output model. Secara default, pipeline akan menerapkan fungsi softmax ke output model. Opsi yang valid: [“softmax”, “sigmoid”, “none”]. Perhatikan bahwa meneruskanNonebawaan Python akan default ke “softmax”, sehingga Anda perlu meneruskan string “none” untuk menonaktifkan semua post-processing.
Tugaskan label ke video yang diteruskan sebagai input.
ZeroShotImageClassificationPipeline
kelas transformers.ZeroShotImageClassificationPipeline
< source >( **kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline klasifikasi gambar zero shot menggunakan CLIPModel. Pipeline ini memprediksi kelas dari sebuah gambar ketika Anda
menyediakan gambar dan seperangkat candidate_labels.
Contoh:
>>> 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'}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline klasifikasi gambar ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "zero-shot-image-classification".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( image: typing.Union[str, list[str], ForwardRef('Image.Image'), list['Image.Image']]candidate_labels: list**kwargs: Any )
Parameter
- image (
str,list[str],PIL.Imageataulist[PIL.Image]) — Pipeline menangani tiga jenis gambar:- String yang berisi tautan http yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
- candidate_labels (
list[str]) — Label kandidat untuk gambar ini. Label tersebut akan diformat menggunakan hypothesis_template. - hypothesis_template (
str, opsional, default"This is a photo of {}") — Format yang digunakan bersama candidate_labels untuk mencoba klasifikasi gambar dengan mengganti placeholder dengan candidate_labels. Kirim ”{}” jika candidate_labels sudah diformat. - timeout (
float, opsional, default None) — Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada timeout yang diatur dan pemanggilan dapat memblokir selamanya.
Tugaskan label ke gambar yang diteruskan sebagai input.
ZeroShotObjectDetectionPipeline
kelas transformers.ZeroShotObjectDetectionPipeline
< source >( **kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline deteksi objek zero shot menggunakan OwlViTForObjectDetection. Pipeline ini memprediksi kotak pembatas objek ketika Anda menyediakan gambar dan seperangkat candidate_labels.
Contoh:
>>> 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}}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline deteksi objek ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "zero-shot-object-detection".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( image: typing.Union[str, ForwardRef('Image.Image'), list[dict[str, typing.Any]]]candidate_labels: str | list[str] | None = None**kwargs: Any )
Parameter
- image (
str,PIL.Imageataulist[dict[str, Any]]) — Pipeline menangani tiga jenis gambar:- String yang berisi url http yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Anda dapat menggunakan parameter ini untuk mengirim langsung daftar gambar, atau dataset atau generator seperti ini:
Deteksi objek (kotak pembatas & kelas) pada gambar yang diberikan sebagai input.
Pemrosesan Bahasa Alami
Pipelines yang tersedia untuk tugas pemrosesan bahasa alami mencakup yang berikut.
FillMaskPipeline
kelas transformers.FillMaskPipeline
< source >( model: PreTrainedModeltokenizer: PreTrainedTokenizer | None = Nonefeature_extractor: PreTrainedFeatureExtractor | None = Noneimage_processor: BaseImageProcessor | None = Nonevideo_processor: BaseVideoProcessor | None = Noneprocessor: ProcessorMixin | None = Nonetask: str = ''device: int | torch.device | None = Nonebinary_output: bool = False**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks. - top_k (
int, opsional, default 5) — Jumlah prediksi yang akan dikembalikan. - targets (
strataulist[str], opsional) — Jika diberikan, model akan membatasi skor pada target yang diberikan alih-alih mencari di seluruh vocab. Jika target yang diberikan tidak ada dalam vocab model, target tersebut akan ditokenisasi dan token hasil pertama yang dihasilkan akan digunakan (dengan peringatan, dan hal itu mungkin lebih lambat). - tokenizer_kwargs (
dict, opsional) — Kamus tambahan berisi argumen kata kunci yang diteruskan ke tokenizer.
__call__
< source >( inputs: str | list[str]**kwargs: Any ) → A list or a list of list of dict
Parameter
- inputs (
strataulist[str]) — Satu atau beberapa teks (atau satu daftar prompt) dengan token yang dimasker. - targets (
strataulist[str], opsional) — Jika diberikan, model akan membatasi skor pada target yang diberikan alih-alih mencari di seluruh vocab. Jika target yang diberikan tidak ada di vocab model, target tersebut akan ditokenisasi dan token hasil pertama yang dihasilkan akan digunakan (dengan peringatan, dan hal itu mungkin lebih lambat). - top_k (
int, opsional) — Jika diberikan, menimpa jumlah prediksi yang dikembalikan.
Mengembalikan
Daftar atau daftar dari daftar dict
Setiap hasil berupa daftar kamus dengan kunci berikut:
- sequence (
str) — Input yang sesuai dengan prediksi token mask. - score (
float) — Probabilitas yang sesuai. - token (
int) — ID token yang diprediksi (untuk menggantikan token yang ter-mask). - token_str (
str) — Token prediksi (untuk menggantikan token yang ter-mask).
Isi token yang tersembunyi dalam teks yang diberikan sebagai input.
TableQuestionAnsweringPipeline
kelas transformers.TableQuestionAnsweringPipeline
< source >( args_parser = <transformers.pipelines.table_question_answering.TableQuestionAnsweringArgumentHandler object at 0x7f6ce17ee210>**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline Table Question Answering menggunakan ModelForTableQuestionAnswering. Pipeline ini hanya tersedia di
PyTorch.
Kecuali model yang Anda gunakan secara eksplisit mengatur parameter generasi ini di file konfigurasinya
(generation_config.json), nilai default berikut akan digunakan:
- max_new_tokens: 256
Contoh:
>>> 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'}Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline penjawab pertanyaan tabular ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "table-question-answering".
Model yang dapat digunakan oleh pipeline ini adalah model yang telah dihaluskan (fine-tuned) pada tugas menjawab pertanyaan tabular. Lihat daftar model yang tersedia dan terkini di huggingface.co/models.
__call__
< source >( *args**kwargs ) → A dictionary or a list of dictionaries containing results
Parameter
- table (
pd.DataFrameatauDict) — Pandas DataFrame atau dictionary yang akan dikonversi menjadi DataFrame yang berisi semua nilai tabel. Lihat di atas untuk contoh dictionary. - query (
strataulist[str]) — Kueri atau daftar kueri yang akan dikirim ke model bersama tabel. - sequential (
bool, opsional, defaultFalse) — Apakah inference dilakukan secara berurutan atau sebagai batch. Batching lebih cepat, tetapi model seperti SQA memerlukan inference dilakukan secara berurutan untuk mengekstrak relasi di dalam urutan, mengingat sifatnya yang konversasional. - padding (
bool,stratau PaddingStrategy, opsional, defaultnyaFalse) — Mengaktifkan dan mengontrol padding. Menerima nilai-nilai berikut:Trueatau'longest': Pad hingga urutan terpanjang dalam batch (atau tanpa padding jika hanya satu urutan yang diberikan).'max_length': Pad hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.Falseatau'do_not_pad'(default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
- truncation (
bool,stratauTapasTruncationStrategy, opsional, defaultnyaFalse) — Mengaktifkan dan mengontrol pemotongan. Menerima nilai-nilai berikut:Trueatau'drop_rows_to_fit': Memotong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Hal ini akan memotong baris per baris, dengan menghapus baris dari tabel.Falseatau'do_not_truncate'(default): Tidak ada pemotongan (yaitu, dapat menghasilkan batch dengan panjang sekuens yang lebih besar dari ukuran input maksimum yang diizinkan model).
Mengembalikan
Kamus atau daftar kamus yang berisi hasil
Setiap hasil adalah kamus dengan kunci-kunci berikut:
- answer (
str) — Jawaban dari kueri berdasarkan tabel. Jika ada agregator, jawaban akan didahului olehAGGREGATOR >. - koordinat (
list[tuple[int, int]]) — Koordinat dari sel-sel jawaban. - cells (
list[str]) — Daftar string yang terdiri dari nilai sel jawaban. - aggregator (
str) — Jika model memiliki aggregator, ini mengembalikan aggregator tersebut.
Menjawab kueri berdasarkan tabel. Pipeline menerima beberapa jenis input yang dirinci di bawah ini:
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}])
Argumen table harus berupa dict atau DataFrame yang dibangun dari dict tersebut, yang berisi seluruh tabel:
Contoh:
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"],
}Kamus ini dapat diteruskan apa adanya, atau dapat dikonversi menjadi DataFrame pandas:
TextClassificationPipeline
kelas transformers.TextClassificationPipeline
< source >( **kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks. - function_to_apply (
str, opsional, defaultnya"default") — Fungsi yang diterapkan pada output model untuk mengambil skor. Menerima empat nilai yang berbeda:"default": jika model memiliki satu label, fungsi sigmoid akan diterapkan pada output. Jika model memiliki beberapa label, fungsi softmax akan diterapkan pada output. Untuk tugas regresi, tidak ada fungsi yang diterapkan pada output."sigmoid": Menerapkan fungsi sigmoid pada output."softmax": Menerapkan fungsi softmax pada output."none": Tidak menerapkan fungsi apa pun pada output.
Pipeline klasifikasi teks menggunakan ModelForSequenceClassification apa pun. Lihat contoh klasifikasi sekuens untuk informasi lebih lanjut.
Contoh:
>>> 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}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline klasifikasi teks ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "sentiment-analysis" (untuk mengklasifikasikan urutan berdasarkan sentimen positif atau negatif).
Jika beberapa label klasifikasi tersedia (model.config.num_labels >= 2, pipeline akan menjalankan softmax
atas hasilnya. Jika hanya ada satu label, pipeline akan menjalankan sigmoid atas hasilnya. Untuk tugas regresi
(model.config.problem_type == "regression", tidak akan diterapkan fungsi apa pun pada output.
Model yang dapat digunakan oleh pipeline ini adalah model yang telah dihaluskan (fine-tuned) untuk tugas klasifikasi urutan. Lihat daftar model yang tersedia dan terkini di huggingface.co/models.
__call__
< source >( inputs: str | list[str] | dict[str, str] | list[dict[str, str]]**kwargs: Any ) → A list of dict
Parameter
- inputs (
strataulist[str]ataudict[str], ataulist[dict[str]]) — Satu atau beberapa teks untuk diklasifikasikan. Untuk menggunakan pasangan teks dalam klasifikasi Anda, Anda dapat mengirim kamus yang berisi kunci{"text", "text_pair"}, atau daftar dari kunci-kunci tersebut. - top_k (
int, opsional, defaultnya1) — Jumlah hasil yang akan dikembalikan. - function_to_apply (
str, opsional, defaultnya"default") — Fungsi yang diterapkan pada output model untuk mengambil skor. Menerima empat nilai yang berbeda:Jika argumen ini tidak ditentukan, maka fungsi-fungsi berikut akan diterapkan sesuai dengan jumlah label:
- Jika tipe masalah adalah regresi, tidak akan menerapkan fungsi apa pun pada output.
- Jika model memiliki satu label, fungsi sigmoid akan diterapkan pada output.
- Jika model memiliki beberapa label, fungsi softmax akan diterapkan pada output.
Nilai yang mungkin adalah:
"sigmoid": Menerapkan fungsi sigmoid pada output."softmax": Menerapkan fungsi softmax pada output."none": Tidak menerapkan fungsi apa pun pada output.
Mengembalikan
Daftar dict
Setiap hasil berupa daftar kamus dengan kunci berikut:
- label (
str) — Label yang diprediksi. - score (
float) — Probabilitas yang sesuai.
Jika top_k digunakan, satu kamus seperti itu dikembalikan untuk setiap label.
Klasifikasikan teks yang diberikan sebagai input.
TextGenerationPipeline
kelas transformers.TextGenerationPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline generasi bahasa menggunakan ModelWithLMHead atau ModelForCausalLM apa pun. Pipeline ini memprediksi kata-kata yang akan mengikuti prompt teks tertentu. Ketika model dasarnya adalah model percakapan, pipeline ini juga dapat menerima satu atau lebih chat, di mana pipeline akan beroperasi dalam mode chat dan melanjutkan chat tersebut dengan menambahkan responsnya. Setiap chat berbentuk daftar dict, di mana setiap dict berisi kunci “role” dan “content”.
Kecuali model yang Anda gunakan secara eksplisit mengatur parameter generasi ini di file konfigurasinya
(generation_config.json), nilai default berikut akan digunakan:
- max_new_tokens: 256
- do_sample: True
- temperature: 0.7
Contoh:
>>> 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'}]}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline. Anda dapat meneruskan parameter generasi teks ke pipeline ini untuk mengontrol kriteria penghentian, strategi decoding, dan lainnya. Pelajari lebih lanjut tentang parameter generasi teks di Strategi generasi teks dan Generasi teks.
Pipeline generasi bahasa ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "text-generation".
Model yang dapat digunakan oleh pipeline ini adalah model yang telah dilatih dengan tujuan pemodelan bahasa autoregresif. Lihat daftar model pelengkapan teks yang tersedia dan daftar model percakapan di [huggingface.co/models].
__call__
< source >( text_inputs**kwargs ) → A list or a list of lists of dict
Parameter
- text_inputs (
str,list[str],ChatType, ataulist[ChatType]) — Satu atau beberapa prompt (atau satu daftar prompt) untuk diselesaikan. Jika string atau daftar string dilewatkan, pipeline ini akan melanjutkan setiap prompt. Sebagai alternatif, sebuah “chat”, dalam bentuk daftar dict dengan kunci “role” dan “content”, dapat dilewatkan, atau daftar dari chat semacam itu. Ketika chat dilewatkan, template chat model akan digunakan untuk memformatnya sebelum dilewatkan ke model. - return_tensors (
bool, opsional, defaultFalse) — Mengembalikan tensor prediksi (sebagai indeks token) dalam output. Jika diset keTrue, teks yang didekodekan tidak dikembalikan. - return_text (
bool, opsional) — Mengembalikan teks yang telah didekodekan dalam output. - return_full_text (
bool, opsional, defaultnyaTrue) — Jika diset keFalse, hanya teks yang ditambahkan yang dikembalikan, selain itu teks lengkap yang dikembalikan. Tidak dapat dispesifikasikan bersamaan denganreturn_text. - clean_up_tokenization_spaces (
bool, opsional) — Apakah akan membersihkan spasi tambahan yang mungkin ada dalam output teks. Secara default mengikuti pengaturanclean_up_tokenization_spacesdari tokenizer. - continue_final_message(
bool, optional) — Ini menunjukkan bahwa Anda ingin model melanjutkan pesan terakhir dalam chat input alih-alih memulai pesan baru, sehingga memungkinkan Anda untuk “prefill” responsnya. Secara default, ini adalahTrueketika pesan terakhir dalam chat input memiliki peranassistantdanFalseselain itu, tetapi Anda dapat menimpa perilaku tersebut secara manual dengan mengatur flag ini. - prefix (
str, opsional) — Prefix yang ditambahkan ke prompt. - stop_sequence (
strataulist[str], opsional) — Satu atau lebih string yang menghentikan generasi begitu dihasilkan. String stop disertakan dalam output. - handle_long_generation (
str, opsional) — Secara default, pipeline ini tidak menangani generasi panjang (yang melampaui panjang maksimum model dalam bentuk apa pun). Tidak ada cara sempurna untuk mengatasi hal ini (info lebih lanjuthttps://github.com/huggingface/transformers/issues/14033#issuecomment-948385227). Ini menyediakan strategi umum untuk mengatasi masalah tersebut tergantung pada kasus penggunaan Anda.None: strategi default di mana tidak ada hal khusus yang terjadi"hole": Memotong bagian kiri dari input, dan menyisakan celah yang cukup lebar agar generasi dapat terjadi (mungkin memotong sebagian besar prompt dan tidak cocok ketika generasi melebihi kapasitas model)
- tokenizer_encode_kwargs (
dict, opsional) — Argumen kata kunci tambahan untuk diteruskan ke langkah encoding tokenizer. Jika input teks adalah chat, argumen ini diteruskan keapply_chat_template. Sebaliknya, argumen ini diteruskan ke__call__. - generate_kwargs (
dict, opsional) — Argumen kata kunci tambahan untuk diteruskan ke metode generate dari model (lihat metode generate di sini).
Mengembalikan
Daftar atau daftar dari daftar dict
Mengembalikan salah satu dari kamus berikut (tidak dapat mengembalikan kombinasi
dari generated_text dan generated_token_ids):
- generated_text (
str, ada ketikareturn_text=True) — Teks yang dihasilkan. - generated_token_ids (
torch.Tensor, ada ketikareturn_tensors=True) — ID token dari teks yang dihasilkan.
Lengkapi prompt yang diberikan sebagai input.
TokenClassificationPipeline
kelas transformers.TokenClassificationPipeline
< source >( args_parser = <transformers.pipelines.token_classification.TokenClassificationArgumentHandler object at 0x7f6ce1efe790>**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks. - ignore_labels (
list[str], defaultnya["O"]) — Daftar label yang akan diabaikan. - stride (
int, opsional) — Jika stride diberikan, pipeline diterapkan pada seluruh teks. Teks dipecah menjadi potongan berukuran model_max_length. Hanya berfungsi dengan fast tokenizers danaggregation_strategyyang berbeda dariNONE. Nilai argumen ini menentukan jumlah token yang tumpang tindih antar-potongan. Dengan kata lain, model akan bergeser maju sebanyaktokenizer.model_max_length - stridetoken pada setiap langkah. - aggregation_strategy (
str, opsional, defaultnya"none") — Strategi untuk menggabungkan (atau tidak) token berdasarkan prediksi model.- “none” : Tidak akan melakukan agregasi sama sekali dan hanya mengembalikan hasil mentah dari model
- “simple” : Akan mencoba mengelompokkan entitas mengikuti skema default. (A, B-TAG), (B, I-TAG), (C, I-TAG), (D, B-TAG2) (E, B-TAG2) akan berakhir menjadi [{“word”: ABC, “entity”: “TAG”}, {“word”: “D”, “entity”: “TAG2”}, {“word”: “E”, “entity”: “TAG2”}] Perhatikan bahwa dua tag B yang berurutan akan berakhir sebagai entitas yang berbeda. Pada bahasa berbasis kata, kita mungkin berakhir memecah kata secara tidak diinginkan : Bayangkan Microsoft diberi tag sebagai [{“word”: “Micro”, “entity”: “ENTERPRISE”}, {“word”: “soft”, “entity”: “NAME”}]. Cari FIRST, MAX, AVERAGE untuk cara memitigasi hal tersebut dan mendiskriminasi kata (pada bahasa yang mendukung makna tersebut, yang pada dasarnya adalah token yang dipisahkan oleh spasi). Mitigasi ini hanya akan berfungsi pada kata-kata asli, “New york” mungkin masih diberi tag dengan dua entitas yang berbeda.
- “first” : (hanya berfungsi pada model berbasis kata) Akan menggunakan strategi
SIMPLEkecuali bahwa kata-kata tidak boleh berakhir dengan tag yang berbeda. Kata-kata akan secara sederhana menggunakan tag dari token pertama kata tersebut ketika ada ambiguitas. - “average” : (hanya berfungsi pada model berbasis kata) Akan menggunakan strategi
SIMPLEkecuali bahwa kata-kata tidak boleh berakhir dengan tag yang berbeda. Skor akan dirata-ratakan terlebih dahulu di antara token, kemudian label maksimum diterapkan. - “max” : (hanya berfungsi pada model berbasis kata) Akan menggunakan strategi
SIMPLEkecuali bahwa kata-kata tidak boleh berakhir dengan tag yang berbeda. Entitas kata akan menjadi token dengan skor maksimum.
Pipeline Named Entity Recognition menggunakan ModelForTokenClassification apa pun. Lihat contoh named entity recognition untuk informasi lebih lanjut.
Contoh:
>>> 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}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline pengenalan token ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "ner" (untuk memprediksi kelas token dalam sebuah urutan: person, organisation, location, atau miscellaneous).
Model yang dapat digunakan oleh pipeline ini adalah model yang telah dihaluskan (fine-tuned) pada tugas klasifikasi token. Lihat daftar model yang tersedia dan terkini di huggingface.co/models.
__call__
< source >( inputs: str | list[str]**kwargs: Any ) → A list or a list of list of dict
Parameter
- inputs (
stratauList[str]) — Satu atau beberapa teks (atau satu daftar teks) untuk klasifikasi token. Dapat berupa token yang sudah dipisah sebelumnya jikais_split_into_words=True.
Mengembalikan
Daftar atau daftar dari daftar dict
Setiap hasil berupa daftar kamus (satu untuk setiap token dalam input yang sesuai, atau setiap entitas jika pipeline ini diinstansiasi dengan aggregation_strategy) dengan kunci berikut:
- word (
str) — Token/kata yang diklasifikasikan. Ini diperoleh dengan mendekode token yang dipilih. Jika Anda ingin memiliki string yang persis di kalimat asli, gunakanstartdanend. - score (
float) — Probabilitas yang sesuai untukentity. - entity (
str) — Entitas yang diprediksi untuk token/kata tersebut (dinamakan entity_group ketika aggregation_strategy bukan"none". - index (
int, hanya ada ketikaaggregation_strategy="none") — Indeks token yang sesuai dalam kalimat. - start (
int, opsional) — Indeks awal entitas yang sesuai dalam kalimat. Hanya ada jika offset tersedia di dalam tokenizer - end (
int, opsional) — Indeks akhir entitas yang sesuai dalam kalimat. Hanya ada jika offset tersedia di dalam tokenizer
Klasifikasikan setiap token dari teks yang diberikan sebagai input.
Override token dari kata tertentu yang tidak sesuai untuk memaksa kesesuaian pada batas kata.
Contoh: micro|soft| com|pany| B-ENT I-NAME I-ENT I-ENT akan ditulis ulang dengan strategi pertama sebagai microsoft| company| B-ENT I-ENT
gather_pre_entities
< source >( sentence: strinput_ids: ndarrayscores: ndarrayoffset_mapping: list[tuple[int, int]] | Nonespecial_tokens_mask: ndarrayaggregation_strategy: AggregationStrategyword_ids: list[int | None] | None = Noneword_to_chars_map: list[tuple[int, int]] | None = None )
Gabungkan berbagai array numpy menjadi dict dengan semua informasi yang diperlukan untuk agregasi
group_entities
< source >( entities: list )
Temukan dan kelompokkan token-token bersebelahan yang memiliki prediksi entitas yang sama.
group_sub_entities
< source >( entities: list )
Kelompokkan token-token bersebelahan yang memiliki prediksi entitas yang sama.
ZeroShotClassificationPipeline
kelas transformers.ZeroShotClassificationPipeline
< source >( args_parser = <transformers.pipelines.zero_shot_classification.ZeroShotClassificationArgumentHandler object at 0x7f6ce17ef950>**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline klasifikasi zero-shot berbasis NLI menggunakan ModelForSequenceClassification yang dilatih pada tugas NLI (natural language inference). Ekuivalen dari pipeline text-classification, tetapi model-model ini tidak memerlukan jumlah kelas potensial yang di-hardcode; kelas dapat dipilih saat runtime. Ini biasanya berarti lebih lambat, tetapi jauh lebih fleksibel.
Kombinasi apa pun dari urutan dan label dapat diteruskan, dan setiap kombinasi akan diposisikan sebagai pasangan premis/hipotesis lalu diteruskan ke model pretrained. Kemudian, logit untuk entailment diambil sebagai logit untuk label kandidat yang valid. Model NLI apa pun dapat digunakan, tetapi id label entailment harus disertakan dalam :attr:~transformers.PreTrainedConfig.label2id dari konfigurasi model.
Contoh:
>>> 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]}Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline NLI ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "zero-shot-classification".
Model yang dapat digunakan oleh pipeline ini adalah model yang telah dihaluskan (fine-tuned) pada tugas NLI. Lihat daftar model yang tersedia dan terkini di huggingface.co/models.
__call__
< source >( sequences: str | list[str]*args**kwargs ) → A dict or a list of dict
Parameter
- sequences (
strataulist[str]) — Urutan yang akan diklasifikasikan, akan dipangkas jika input model terlalu besar. - candidate_labels (
strataulist[str]) — Set label kelas yang mungkin untuk mengklasifikasikan setiap urutan. Bisa berupa satu label, string label yang dipisahkan koma, atau daftar label. - hypothesis_template (
str, opsional, default"This example is {}.") — Template yang digunakan untuk mengubah setiap label menjadi hipotesis bergaya NLI. Template ini harus menyertakan sintaks {} atau serupa untuk label kandidat yang akan disisipkan ke dalam template. Misalnya, template default adalah"This example is {}."Dengan label kandidat"sports", ini akan dimasukkan ke dalam model seperti"<cls> sequence to classify <sep> This example is sports . <sep>". Template default berfungsi dengan baik dalam banyak kasus, tetapi mungkin layak untuk bereksperimen dengan template yang berbeda tergantung pada pengaturan tugas. - multi_label (
bool, opsional, defaultFalse) — Apakah beberapa label kandidat dapat benar secara bersamaan. JikaFalse, skor dinormalisasi sehingga jumlah kemungkinan label untuk setiap urutan adalah 1. JikaTrue, label dianggap merdeka dan probabilitas dinormalisasi untuk setiap kandidat dengan melakukan softmax pada skor entailment dibandingkan skor contradiction.
Mengembalikan
Sebuah dict atau daftar dict
Setiap hasil hadir sebagai kamus dengan kunci-kunci berikut:
- sequence (
str) — Urutan yang menjadi sumber output ini. - labels (
list[str]) — Label yang diurutkan berdasarkan urutan kemungkinan. - scores (
list[float]) — Probabilitas untuk masing-masing label.
Klasifikasikan urutan yang diberikan sebagai input. Lihat dokumentasi ZeroShotClassificationPipeline untuk informasi lebih lanjut.
Multimodal
Pipelines yang tersedia untuk tugas multimodal mencakup yang berikut.
DocumentQuestionAnsweringPipeline
kelas transformers.DocumentQuestionAnsweringPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline Document Question Answering menggunakan AutoModelForDocumentQuestionAnswering apa pun. Input/output-nya serupa dengan pipeline question answering (ekstraktif); namun, pipeline ini menerima gambar (dan kata-kotak hasil OCR opsional) sebagai input, bukan konteks teks.
Kecuali model yang Anda gunakan secara eksplisit mengatur parameter generasi ini di file konfigurasinya
(generation_config.json), nilai default berikut akan digunakan:
- max_new_tokens: 256
Contoh:
>>> 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}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline question answering dokumen ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "document-question-answering".
Model yang dapat digunakan oleh pipeline ini adalah model yang telah dihaluskan (fine-tuned) untuk tugas question answering dokumen. Lihat daftar model yang tersedia dan terkini di huggingface.co/models.
__call__
< source >( image: typing.Union[ForwardRef('Image.Image'), str, list[dict[str, typing.Any]]]question: str | None = Noneword_boxes: tuple[str, list[float]] | None = None**kwargs: Any ) → A dict or a list of dict
Parameter
- image (
stratauPIL.Image) — Pipeline ini menangani tiga jenis gambar:- String yang berisi tautan http yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu gambar tunggal atau batch gambar. Jika diberikan satu gambar, gambar tersebut dapat di-broadcast ke beberapa pertanyaan.
- question (
str) — Pertanyaan yang akan diajukan pada dokumen. - word_boxes (
list[str, tuple[float, float, float, float]], opsional) — Daftar kata dan kotak pembatas (dinormalisasi 0->1000). Jika Anda menyediakan input opsional ini, maka pipeline akan menggunakan kata dan kotak ini alih-alih menjalankan OCR pada gambar untuk menurunkannya untuk model yang membutuhkannya (mis. LayoutLM). Hal ini memungkinkan Anda untuk menggunakan kembali hasil OCR di banyak pemanggilan pipeline tanpa harus menjalankannya ulang setiap kali. - top_k (
int, opsional, default 1) — Jumlah jawaban yang akan dikembalikan (dipilih berdasarkan urutan kemungkinan). Perhatikan bahwa kami mengembalikan kurang dari top_k jawaban jika tidak ada cukup opsi yang tersedia dalam konteks. - doc_stride (
int, opsional, default 128) — Jika kata-kata dalam dokumen terlalu panjang untuk muat bersama pertanyaan bagi model, dokumen akan dipecah menjadi beberapa chunk dengan beberapa tumpang tindih. Argumen ini mengontrol ukuran tumpang tindih tersebut. - max_answer_len (
int, opsional, default 15) — Panjang maksimum dari jawaban yang diprediksi (misalnya, hanya jawaban dengan panjang yang lebih pendek yang dipertimbangkan). - max_seq_len (
int, opsional, default 384) — Panjang maksimum kalimat total (konteks + pertanyaan) dalam token untuk setiap chunk yang diteruskan ke model. Konteks akan dipecah menjadi beberapa chunk (menggunakandoc_stridesebagai overlap) jika diperlukan. - max_question_len (
int, opsional, default 64) — Panjang maksimum pertanyaan setelah tokenisasi. Akan dipangkas jika diperlukan. - handle_impossible_answer (
bool, opsional, defaultFalse) — Apakah kita menerima "impossible" sebagai jawaban. - lang (
str, opsional) — Bahasa yang digunakan saat menjalankan OCR. Bawaan adalah english. - tesseract_config (
str, opsional) — Flag tambahan untuk diteruskan ke tesseract saat menjalankan OCR. - timeout (
float, opsional, default None) — Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada timeout yang diatur dan pemanggilan dapat memblokir selamanya.
Mengembalikan
Sebuah dict atau daftar dict
Setiap hasil hadir sebagai kamus dengan kunci-kunci berikut:
- score (
float) — Probabilitas yang terkait dengan jawaban. - start (
int) — Indeks kata awal dari jawaban (dalam versi OCR dari input atauword_boxesyang disediakan). - end (
int) — Indeks kata akhir dari jawaban (dalam versi OCR dari input atauword_boxesyang disediakan). - answer (
str) — Jawaban atas pertanyaan tersebut. - words (
list[int]) — Indeks dari setiap pasangan kata/kotak yang ada dalam jawaban
Jawab pertanyaan yang diberikan sebagai input dengan menggunakan dokumen. Sebuah dokumen didefinisikan sebagai gambar dan daftar opsional tuple (kata, kotak) yang merepresentasikan teks dalam dokumen. Jika word_boxes tidak disediakan, mesin OCR Tesseract (jika tersedia) akan digunakan untuk mengekstrak kata dan kotak secara otomatis untuk model mirip LayoutLM yang membutuhkannya sebagai input. Untuk Donut, tidak ada OCR yang dijalankan.
Anda dapat memanggil pipeline dengan beberapa cara:
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
kelas transformers.FeatureExtractionPipeline
< source >( model: PreTrainedModeltokenizer: PreTrainedTokenizer | None = Nonefeature_extractor: PreTrainedFeatureExtractor | None = Noneimage_processor: BaseImageProcessor | None = Nonevideo_processor: BaseVideoProcessor | None = Noneprocessor: ProcessorMixin | None = Nonetask: str = ''device: int | torch.device | None = Nonebinary_output: bool = False**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - tokenize_kwargs (
dict, opsional) — Kamus tambahan berisi argumen kata kunci yang diteruskan ke tokenizer. - return_tensors (
bool, opsional) — JikaTrue, mengembalikan tensor sesuai dengan framework yang ditentukan, selain itu mengembalikan daftar.
Pipeline ekstraksi fitur tidak menggunakan model head. Pipeline ini mengekstrak hidden states dari transformer dasar, yang dapat digunakan sebagai fitur dalam tugas downstream.
Contoh:
>>> 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])Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline ekstraksi fitur ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas: "feature-extraction".
Semua model dapat digunakan untuk pipeline ini. Lihat daftar semua model, termasuk model yang disumbangkan oleh komunitas di huggingface.co/models.
__call__
< source >( *args: str | list[str]**kwargs: Any ) → A nested list of float
Ekstrak fitur dari teks input.
ImageFeatureExtractionPipeline
kelas transformers.ImageFeatureExtractionPipeline
< source >( model: PreTrainedModeltokenizer: PreTrainedTokenizer | None = Nonefeature_extractor: PreTrainedFeatureExtractor | None = Noneimage_processor: BaseImageProcessor | None = Nonevideo_processor: BaseVideoProcessor | None = Noneprocessor: ProcessorMixin | None = Nonetask: str = ''device: int | torch.device | None = Nonebinary_output: bool = False**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks. - image_processor_kwargs (
dict, opsional) — Kamus tambahan berisi argumen kata kunci yang diteruskan ke pemroses gambar, misalnya {“size”: {“height”: 100, “width”: 100}} - pool (
bool, opsional, defaultFalse) — Apakah akan mengembalikan output yang dipool. JikaFalse, model akan mengembalikan hidden states mentah.
Pipeline ekstraksi fitur gambar tidak menggunakan model head. Pipeline ini mengekstrak hidden states dari transformer dasar, yang dapat digunakan sebagai fitur dalam tugas downstream.
Contoh:
>>> 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])Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline ekstraksi fitur gambar ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas: "image-feature-extraction".
Semua model visi dapat digunakan untuk pipeline ini. Lihat daftar semua model, termasuk model yang disumbangkan oleh komunitas di huggingface.co/models.
__call__
< source >( *args: typing.Union[str, ForwardRef('Image.Image'), list['Image.Image'], list[str]]**kwargs: Any ) → A nested list of float
Parameter
- images (
str,list[str],PIL.Imageataulist[PIL.Image]) — Pipeline menangani tiga jenis gambar:- String yang berisi tautan http yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu gambar atau batch gambar, yang kemudian harus diteruskan sebagai string. Gambar dalam batch harus semuanya dalam format yang sama: semuanya sebagai tautan http, semuanya sebagai path lokal, atau semuanya sebagai gambar PIL.
- timeout (
float, opsional, default None) — Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada timeout yang digunakan dan pemanggilan dapat memblokir selamanya.
Mengembalikan
Daftar bersarang dari float
Fitur yang dihitung oleh model.
Ekstrak fitur dari input.
ImageTextToTextPipeline
kelas transformers.ImageTextToTextPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- processor (ProcessorMixin) —
Prosesor yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari
ProcessorMixin. Prosesor adalah objek komposit yang mungkin berisi
tokenizer,feature_extractor, danimage_processor. - task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline image-text-to-text menggunakan AutoModelForImageTextToText. Pipeline ini menghasilkan teks berdasarkan gambar dan teks.
Ketika model dasarnya adalah model percakapan, pipeline ini juga dapat menerima satu atau lebih chat,
di mana dalam kasus tersebut pipeline akan beroperasi dalam mode chat dan akan melanjutkan chat tersebut dengan menambahkan responsnya.
Setiap chat berbentuk daftar dict, di mana setiap dict berisi kunci “role” dan “content”.
Kecuali model yang Anda gunakan secara eksplisit mengatur parameter generasi ini di file konfigurasinya
(generation_config.json), nilai default berikut akan digunakan:
- max_new_tokens: 256
Contoh:
>>> 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'}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline gambar-teks ke teks ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: “image-text-to-text”.
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( images: typing.Union[str, list[str], list[list[str]], ForwardRef('Image.Image'), list['Image.Image'], list[list['Image.Image']], list[dict], NoneType] = Nonetext: str | list[str] | list[dict] | None = None**kwargs ) → A list or a list of list of dict
Parameter
- images (
str,list[str],PIL.Image,list[PIL.Image],list[dict[str, Union[str, PIL.Image]]]`) — Pipeline ini menangani tiga jenis gambar:- String yang berisi tautan HTTP(s) yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu gambar atau batch gambar. Terakhir, pipeline ini juga mendukung format chat (lihat
text) yang berisi gambar dan teks dalam argumen ini. - text (str, list[str],
list[dict[str, Union[str, PIL.Image]]]) — Teks yang akan digunakan untuk generasi. Jika daftar string diteruskan, panjang daftar harus sama dengan jumlah gambar. Teks juga dapat mengikuti format chat: daftar kamus di mana setiap kamus mewakili pesan dalam percakapan. Setiap kamus harus memiliki dua kunci: ‘role’ dan ‘content’. ‘role’ harus salah satu dari ‘user’, ‘system’, atau ‘assistant’. ‘content’ harus berupa daftar kamus yang berisi teks pesan dan jenis pesan. Jenis pesan dapat berupa ‘text’ atau ‘image’. Jika jenisnya ‘image’, teks tidak diperlukan. - return_tensors (
bool, opsional, defaultFalse) — Mengembalikan tensor prediksi (sebagai indeks token) dalam output. Jika diset keTrue, teks yang didekodekan tidak dikembalikan. - return_text (
bool, opsional) — Mengembalikan teks yang telah didekodekan dalam output. - return_full_text (
bool, opsional, defaultnyaTrue) — Jika diset keFalse, hanya teks yang ditambahkan yang dikembalikan, selain itu teks lengkap yang dikembalikan. Tidak dapat dispesifikasikan bersamaan denganreturn_text. - clean_up_tokenization_spaces (
bool, opsional) — Apakah akan membersihkan spasi tambahan yang mungkin ada dalam output teks. Secara default mengikuti pengaturanclean_up_tokenization_spacesdari tokenizer. - continue_final_message(
bool, optional) — Ini menunjukkan bahwa Anda ingin model melanjutkan pesan terakhir dalam chat input alih-alih memulai pesan baru, sehingga memungkinkan Anda untuk “prefill” responsnya. Secara default, ini adalahTrueketika pesan terakhir dalam chat input memiliki peranassistantdanFalseselain itu, tetapi Anda dapat menimpa perilaku tersebut secara manual dengan mengatur flag ini.
Mengembalikan
Daftar atau daftar dari daftar dict
Setiap hasil berupa kamus dengan kunci berikut (tidak dapat mengembalikan kombinasi generated_text dan generated_token_ids):
- generated_text (
str, ada ketikareturn_text=True) — Teks yang dihasilkan. - generated_token_ids (
torch.Tensor, ada ketikareturn_tensors=True) — ID token dari teks yang dihasilkan. - input_text (
str) — Teks input.
Membuat teks berdasarkan teks dan gambar yang diberikan sebagai input.
AnyToAnyPipeline
kelas transformers.AnyToAnyPipeline
< source >( *args**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- processor (ProcessorMixin) —
Prosesor yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari
ProcessorMixin. Prosesor adalah objek komposit yang mungkin berisi
tokenizer,feature_extractor, danimage_processor. - task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Pipeline Generasi Multimodal menggunakan AutoModelForMultimodalLM. Pipeline ini menghasilkan teks berdasarkan kombinasi apa pun dari data multimodal dan teks. Ketika model dasarnya adalah model percakapan, pipeline ini juga dapat menerima satu atau lebih chat, di mana pipeline akan beroperasi dalam mode chat dan melanjutkan chat tersebut dengan menambahkan responsnya. Setiap chat berbentuk daftar dict, di mana setiap dict berisi kunci “role” dan “content”.
Kecuali model yang Anda gunakan secara eksplisit mengatur parameter generasi ini di file konfigurasinya
(generation_config.json), nilai default berikut akan digunakan:
- max_new_tokens: 256
Contoh:
>>> 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'}]Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline multimodal ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: “any-to-any”.
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( text: str | list[str] | list[dict]images: typing.Union[str, list[str], list[list[str]], ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonevideos: typing.Union[str, list[str], list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[str, list[str], numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs ) → A list or a list of list of dict
Parameter
- text (
str,list[str],list[dict]) — Teks yang akan digunakan untuk generasi. Jika daftar string dilewatkan, panjang daftar harus sama dengan jumlah gambar. Teks juga dapat mengikuti format chat: daftar kamus di mana setiap kamus mewakili pesan dalam percakapan. Setiap kamus harus memiliki dua kunci: ‘role’ dan ‘content’. ‘role’ harus salah satu dari ‘user’, ‘system’, atau ‘assistant’. ‘content’ harus berupa daftar kamus yang berisi teks pesan dan jenis pesan. - images (
str,list[str],ImageInput) — Pipeline ini menangani tiga jenis gambar:- String yang berisi tautan HTTP(s) yang mengarah ke gambar
- String yang berisi path lokal ke sebuah gambar
- Gambar yang dimuat langsung dalam PIL
Pipeline menerima satu gambar atau batch gambar. Terakhir, pipeline ini juga mendukung format chat (lihat
text) yang berisi gambar dan teks dalam argumen ini. - videos (
str,list[str],VideoInput) — Pipeline ini menangani tiga jenis video:- String yang berisi tautan HTTP(s) yang mengarah ke video
- String yang berisi path lokal ke video
- Video yang dimuat dan didekode ke format array
Pipeline menerima satu video atau batch video. Terakhir, pipeline ini juga mendukung format chat (lihat
text) yang berisi video dan teks dalam argumen ini. - audio (
str,list[str],AudioInput) — Pipeline ini menangani tiga jenis audio:- String yang berisi tautan HTTP(s) yang mengarah ke audio
- String yang berisi path lokal ke audio
- Audio yang dimuat langsung di PIL
Pipeline menerima satu audios atau batch dari audios. Terakhir, pipeline ini juga mendukung format chat (lihat
text) yang berisi audios dan teks dalam argumen ini. - return_tensors (
bool, opsional, defaultFalse) — Mengembalikan tensor prediksi (sebagai indeks token) dalam output. Jika diset keTrue, teks yang didekodekan tidak dikembalikan. - return_text (
bool, opsional) — Mengembalikan teks yang telah didekodekan dalam output. - return_full_text (
bool, opsional, defaultnyaTrue) — Jika diset keFalse, hanya teks yang ditambahkan yang dikembalikan, selain itu teks lengkap yang dikembalikan. Tidak dapat dispesifikasikan bersamaan denganreturn_text. - clean_up_tokenization_spaces (
bool, opsional) — Apakah akan membersihkan spasi tambahan yang mungkin ada dalam output teks. Secara default mengikuti pengaturanclean_up_tokenization_spacesdari tokenizer. - continue_final_message(
bool, optional) — Ini menunjukkan bahwa Anda ingin model melanjutkan pesan terakhir dalam chat input alih-alih memulai pesan baru, sehingga memungkinkan Anda untuk “prefill” responsnya. Secara default, ini adalahTrueketika pesan terakhir dalam chat input memiliki peranassistantdanFalseselain itu, tetapi Anda dapat menimpa perilaku tersebut secara manual dengan mengatur flag ini.
Mengembalikan
Daftar atau daftar dari daftar dict
Setiap hasil berupa kamus dengan kunci berikut (tidak dapat mengembalikan kombinasi generated_text dan generated_token_ids):
- generated_text (
str, ada ketikareturn_text=Truedangeneration_mode="text") — Teks yang dihasilkan. - generated_audio (
np.ndarray, ada ketikageneration_mode="audio") — Audio yang dihasilkan. - generated_image (
PIL.Image.Image, ada ketikageneration_mode="image") — Gambar yang dihasilkan. - generated_token_ids (
torch.Tensor, ada ketikareturn_tensors=Truedangeneration_mode="text") — ID token dari teks yang dihasilkan. - input_text (
str) — Teks input.
Membuat teks berdasarkan teks dan, secara opsional, data multimodal yang diberikan sebagai input.
MaskGenerationPipeline
kelas transformers.MaskGenerationPipeline
< source >( **kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks. - points_per_batch (opsional, int, default 64) — Menetapkan jumlah titik yang dijalankan secara bersamaan oleh model. Angka yang lebih tinggi mungkin lebih cepat tetapi menggunakan lebih banyak memori GPU.
- output_bboxes_mask (
bool, opsional, defaultFalse) — Apakah akan mengoutput prediksi bounding box. - output_rle_masks (
bool, opsional, defaultFalse) — Apakah akan mengoutputkan mask dalam formatRLE
Pembuatan maska otomatis untuk gambar menggunakan SamForMaskGeneration. Pipeline ini memprediksi maska biner untuk sebuah
gambar, berdasarkan gambar yang diberikan. Ini adalah ChunkPipeline karena Anda dapat memisahkan titik-titik dalam mini-batch untuk
menghindari masalah OOM. Gunakan argumen points_per_batch untuk mengontrol jumlah titik yang akan diproses pada
waktu yang sama. Nilainya secara default adalah 64.
Pipeline bekerja dalam 3 langkah:
preprocess: Sebuah grid 1024 titik yang terpisah secara merata dihasilkan bersama dengan kotak pembatas dan label titik. Untuk detail lebih lanjut tentang bagaimana titik dan kotak pembatas dibuat, periksa fungsi_generate_crop_boxes. Gambar juga dipreproses menggunakanimage_processor. Fungsi iniyieldsminibatch daripoints_per_batch.forward: memberikan keluaran daripreprocesske model. Embedding gambar dihitung hanya sekali. Memanggilself.model.get_image_embeddingsdan memastikan bahwa gradien tidak dihitung, serta tensor dan model berada di perangkat yang sama.postprocess: Bagian terpenting dari pembuatan mask otomatis terjadi di sini. Tiga langkah diinduksi:- image_processor.postprocess_masks (dijalankan pada setiap loop minibatch): menerima mask output mentah, mengubah ukurannya sesuai ukuran gambar, dan mengubahnya menjadi mask biner.
- image_processor.filter_masks (pada setiap loop minibatch): menggunakan
pred_iou_threshdanstability_scores. Juga menerapkan berbagai filter berdasarkan non maximum suppression untuk menghapus mask yang buruk. - image_processor.postprocess_masks_for_amg menerapkan NSM pada mask agar hanya mask yang relevan yang dipertahankan.
Contoh:
>>> 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
... )Pelajari lebih lanjut tentang dasar-dasar penggunaan pipeline di tutorial pipeline
Pipeline segmentasi ini saat ini dapat dimuat dari pipeline() menggunakan pengidentifikasi tugas berikut: "mask-generation".
Lihat daftar model yang tersedia di huggingface.co/models.
__call__
< source >( image: typing.Union[str, ForwardRef('Image.Image'), list[str], list['Image.Image']]*args: Any**kwargs: Any ) → Dict
Parameter
- image (
str,List[str],PIL.ImageatauList[PIL.Image]) — Gambar atau daftar gambar. - mask_threshold (
float, opsional, default 0.0) — Ambang batas yang digunakan saat mengubah mask prediksi menjadi nilai biner. - pred_iou_thresh (
float, opsional, default 0.88) — Ambang batas penyaringan dalam[0,1]yang diterapkan pada kualitas mask yang diprediksi oleh model. - stability_score_thresh (
float, opsional, default 0,95) — Ambang batas penyaringan dalam[0,1], menggunakan stabilitas mask terhadap perubahan cutoff yang digunakan untuk membinerkan prediksi mask model. - stability_score_offset (
int, opsional, defaultnya 1) — Jumlah pergeseran cutoff saat menghitung skor stabilitas. - crops_nms_thresh (
float, opsional, default 0,7) — Ambang batas IoU kotak yang digunakan oleh non-maximal suppression untuk menyaring mask duplikat. - crops_n_layers (
int, opsional, default 0) — Jikacrops_n_layers>0, prediksi mask akan dijalankan kembali pada potongan (crops) dari gambar. Menetapkan jumlah lapisan yang akan dijalankan, di mana setiap lapisan memiliki 2**i_layer jumlah potongan gambar. - crop_overlap_ratio (
float, opsional, default512 / 1500) — Menetapkan tingkat tumpang tindih antar crop. Pada lapisan crop pertama, crop akan tumpang tindih sebesar fraksi ini dari panjang gambar. Lapisan-lapisan berikutnya yang memiliki lebih banyak crop akan mengurangi tumpang tindih ini. - crop_n_points_downscale_factor (
int, opsional, default1) — Jumlah titik per sisi yang disampel pada lapisan n diskalakan ke bawah dengan crop_n_points_downscale_factor**n. - timeout (
float, opsional, default None) — Waktu maksimum dalam detik untuk menunggu pengambilan gambar dari web. Jika None, tidak ada timeout yang diatur dan pemanggilan dapat memblokir selamanya.
Mengembalikan
Dict
Kamus dengan kunci-kunci berikut:
- mask (
PIL.Image) — Mask biner dari objek yang terdeteksi sebagai PIL Image dengan bentuk(width, height)dari gambar asli. Mengembalikan mask yang diisi dengan nol jika tidak ada objek yang ditemukan. - score (opsional
float) — Opsional, ketika model mampu memperkirakan tingkat kepercayaan dari “objek” yang dijelaskan oleh label dan mask.
Membuat mask segmentasi biner
Kelas induk: Pipeline
kelas transformers.Pipeline
< source >( model: PreTrainedModeltokenizer: PreTrainedTokenizer | None = Nonefeature_extractor: PreTrainedFeatureExtractor | None = Noneimage_processor: BaseImageProcessor | None = Nonevideo_processor: BaseVideoProcessor | None = Noneprocessor: ProcessorMixin | None = Nonetask: str = ''device: int | torch.device | None = Nonebinary_output: bool = False**kwargs )
Parameter
- model (PreTrainedModel) — Model yang akan digunakan oleh pipeline untuk membuat prediksi. Ini harus berupa model yang mewarisi dari PreTrainedModel.
- tokenizer (PreTrainedTokenizer) — Tokenizer yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari PreTrainedTokenizer.
- feature_extractor (SequenceFeatureExtractor) — Ekstraktor fitur yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari SequenceFeatureExtractor.
- image_processor (BaseImageProcessor) — Pemroses gambar yang akan digunakan oleh pipeline untuk mengkodekan data bagi model. Objek ini mewarisi dari BaseImageProcessor.
- processor (ProcessorMixin) —
Prosesor yang akan digunakan oleh pipeline untuk mengkodekan data untuk model. Objek ini mewarisi dari
ProcessorMixin. Prosesor adalah objek komposit yang mungkin berisi
tokenizer,feature_extractor, danimage_processor. - task (
str, defaultnya"") — Pengidentifikasi tugas untuk pipeline. - num_workers (
int, opsional, default 8) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), jumlah worker yang akan digunakan. - batch_size (
int, opsional, default 1) — Ketika pipeline akan menggunakan DataLoader (ketika meneruskan dataset, pada GPU untuk model Pytorch), ukuran batch yang akan digunakan. Untuk inferensi, ini tidak selalu menguntungkan, silakan baca Batching with pipelines . - args_parser (ArgumentHandler, opsional) — Referensi ke objek yang bertanggung jawab untuk mengurai parameter pipeline yang diberikan.
- device (
intataustratautorch.device, opsional) — Perangkat tempat pipeline dialokasikan. Jika tidak disetel, pipeline ditempatkan pada akselerator pertama yang tersedia (CUDA, MPS, XPU, …) dan hanya kembali ke CPU jika tidak ada yang tersedia; model dipindahkan ke sana secara otomatis. Berikandevice="cpu"(atau-1) untuk memaksa CPU, ordinal positif atau"cuda:1"untuk memilih akselerator tertentu, atautorch.device/strasli. Argumen ini tidak dapat digabungkan dengan model yang sudah dimuat melaluiaccelerate(yaitu yang memilikihf_device_map). - dtype (
stratautorch.dtype, opsional, default"auto") — Presisi saat model dimuat, diteruskan kefrom_pretrained. Defaultnya"auto", yang memuat model dalam dtype tempat model disimpan (dibaca dariconfig.dtypecheckpoint, jika tidak ada, disimpulkan dari bobot). Berikantorch.float16,torch.bfloat16,torch.float32, … secara eksplisit untuk menimpanya. - binary_output (
bool, opsional, defaultFalse) — Flag yang menunjukkan apakah output pipeline harus dalam format terserialisasi (misalnya, pickle) atau sebagai data output mentah, misalnya teks.
Kelas Pipeline adalah kelas yang menjadi induk bagi semua pipeline. Rujuk kelas ini untuk metode yang dibagikan di antara pipeline yang berbeda.
Kelas dasar yang mengimplementasikan operasi berpipelining. Alur kerja pipeline didefinisikan sebagai urutan dari operasi-operasi berikut:
Input -> Tokenisasi -> Inferensi Model -> Pemrosesan Pasca (bergantung pada tugas) -> Output
Pipeline mendukung eksekusi di CPU atau GPU melalui argumen device (lihat di bawah).
Beberapa pipeline, misalnya FeatureExtractionPipeline ('feature-extraction'), menghasilkan objek tensor besar sebagai nested-lists. Untuk menghindari penulisan struktur besar tersebut sebagai data teks, kami menyediakan argumen konstruktor binary_output. Jika diset ke True, output akan disimpan dalam format pickle.
check_model_type
< source >( supported_models: list[str] | dict )
Periksa apakah kelas model didukung oleh pipeline.
Context Manager yang memungkinkan alokasi tensor pada perangkat yang ditentukan pengguna.
ensure_tensor_on_device
< source >( **inputs ) → dict[str, torch.Tensor]
Pastikan tensor PyTorch berada pada perangkat yang ditentukan.
Postprocess akan menerima output mentah dari metode _forward, umumnya berupa tensor, dan memformat ulang menjadi sesuatu yang lebih ramah. Umumnya, outputnya berupa list atau dict dari hasil (yang hanya berisi string dan angka).
Antarmuka Scikit / Keras untuk pipeline transformers. Metode ini akan meneruskan ke call().
Preprocess akan mengambil input_ dari pipeline tertentu dan mengembalikan kamus berisi semua yang diperlukan agar _forward dapat berjalan dengan baik. Kamus ini harus berisi setidaknya satu tensor, tetapi mungkin juga memiliki item lain yang sembarang.
push_to_hub
< source >( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )
Parameter
- repo_id (
str) — Nama repositori tempat Anda ingin mendorong pipe Anda. Seharusnya berisi nama organisasi Anda saat mendorong ke organisasi tertentu. - commit_message (
str, opsional) — Pesan untuk commit saat push. Secara default akan menjadi"Upload pipe". - commit_description (
str, opsional) — Deskripsi dari commit yang akan dibuat - private (
bool, opsional) — Apakah membuat repo menjadi privat. JikaNone(default), repo akan menjadi publik kecuali default organisasi adalah privat. Nilai ini diabaikan jika repo sudah ada. - token (
boolataustr, opsional) — Token yang digunakan sebagai otorisasi bearer HTTP untuk file jarak jauh. JikaTrue(default), akan menggunakan token yang dihasilkan saat menjalankanhf auth login(disimpan di~/.huggingface). - revision (
str, opsional) — Cabang untuk mendorong file yang diunggah. - create_pr (
bool, opsional, defaultFalse) — Apakah akan membuat PR dengan file yang diunggah atau langsung melakukan commit. - max_shard_size (
intataustr, opsional, default"50GB") — Hanya berlaku untuk model. Ukuran maksimum checkpoint sebelum di-shard. Setiap shard checkpoint akan memiliki ukuran lebih kecil dari nilai ini. Jika dinyatakan sebagai string, harus berupa angka diikuti satuan (seperti"5MB"). - tags (
list[str], opsional) — Daftar tag untuk didorong ke Hub.
Unggah file pipeline ke 🤗 Model Hub.
Contoh:
from transformers import pipeline
pipe = pipeline("google-bert/bert-base-cased")
# Push the pipe to your namespace with the name "my-finetuned-bert".
pipe.push_to_hub("my-finetuned-bert")
# Push the pipe to an organization with the name "my-finetuned-bert".
pipe.push_to_hub("huggingface/my-finetuned-bert")save_pretrained
< source >( save_directory: str | os.PathLike**kwargs: Any )
Parameter
- save_directory (
stratauos.PathLike) — Path ke direktori tempat file disimpan. Direktori ini akan dibuat jika belum ada. - kwargs (
dict[str, Any], opsional) — Argumen kata kunci tambahan yang diteruskan ke metode push_to_hub().
Simpan model dan tokenizer dari pipeline.
Antarmuka Scikit / Keras untuk pipeline transformers. Metode ini akan meneruskan ke call().