Transformers documentation
Pixtral
Model ini dipublikasikan di HF papers pada 2024-10-09 dan disumbangkan ke Hugging Face Transformers pada 2024-09-14.
Pixtral
Pixtral adalah model multimodal yang dilatih untuk memahami gambar dan dokumen alami. Model ini menerima gambar pada resolusi dan rasio aspek aslinya tanpa perlu mengubah ukuran atau menambahkan padding, berkat embedding 2D RoPE-nya. Selain itu, Pixtral memiliki jendela konteks 128K token yang panjang untuk memproses sejumlah besar gambar. Pixtral menggabungkan encoder visual 400M dengan decoder Mistral Nemo 12B.
Pixtral architecture. Taken from the blog post. Anda dapat menemukan semua checkpoint Pixtral asli di bawah organisasi Mistral AI.
Model ini disumbangkan oleh amyeroberts dan ArthurZ. Klik model Pixtral di bilah sisi kanan untuk melihat lebih banyak contoh cara menerapkan Pixtral ke berbagai tugas visi dan bahasa.
import torch
from transformers import AutoProcessor, LlavaForConditionalGeneration
model_id = "mistral-community/pixtral-12b"
model = LlavaForConditionalGeneration.from_pretrained(model_id, device_map="auto")
processor = AutoProcessor.from_pretrained(model_id)
url_dog = "https://picsum.photos/id/237/200/300"
url_mountain = "https://picsum.photos/seed/picsum/200/300"
chat = [
{
"role": "user", "content": [
{"type": "text", "content": "Can this animal"},
{"type": "image", "url": url_dog},
{"type": "text", "content": "live here?"},
{"type": "image", "url" : url_mountain}
]
}
]
inputs = processor.apply_chat_template(chat, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt").to(model.device)
generate_ids = model.generate(**inputs, max_new_tokens=500)
output = processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]Quantization mengurangi beban memori model besar dengan merepresentasikan bobot dalam presisi yang lebih rendah. Lihat ringkasan Quantization untuk backend quantization lain yang tersedia.
Contoh di bawah menggunakan bitsandbytes untuk mengkuantisasi model menjadi 4-bit.
import requests
import torch
from PIL import Image
from transformers import AutoProcessor, BitsAndBytesConfig, LlavaForConditionalGeneration
model_id = "mistral-community/pixtral-12b"
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
model = LlavaForConditionalGeneration.from_pretrained(
model_id,
quantization_config=quantization_config,
device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_id)
dog_url = "https://picsum.photos/id/237/200/300"
mountain_url = "https://picsum.photos/seed/picsum/200/300"
dog_image = Image.open(requests.get(dog_url, stream=True).raw)
mountain_image = Image.open(requests.get(mountain_url, stream=True).raw)
chat = [
{
"role": "user", "content": [
{"type": "text", "text": "Can this animal"},
{"type": "image"},
{"type": "text", "text": "live here?"},
{"type": "image"}
]
}
]
prompt = processor.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = processor(text=prompt, images=[dog_image, mountain_image], return_tensors="pt").to(model.device)
inputs["pixel_values"] = inputs["pixel_values"].to(model.dtype)
inputs = {k: v.to(model.device) for k, v in inputs.items()}
generate_ids = model.generate(**inputs, max_new_tokens=100)
output = processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(output)Catatan
Pixtral menggunakan PixtralVisionModel sebagai encoder visual dan MistralForCausalLM untuk decoder bahasanya.
Model secara internal mengganti placeholder token
[IMG]dengan embedding gambar."<s>[INST][IMG]\nWhat are the things I should be cautious about when I visit this place?[/INST]"Token
[IMG]diganti dengan sejumlah token[IMG]yang bergantung pada tinggi dan lebar masing-masing gambar. Setiap baris gambar dipisahkan oleh token[IMG_BREAK]dan setiap gambar dipisahkan oleh token[IMG_END]. Gunakan metode~Processor.apply_chat_templateuntuk menangani token-token ini secara otomatis.
PixtralVisionConfig
kelas transformers.PixtralVisionConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 1024intermediate_size: int = 4096num_hidden_layers: int = 24num_attention_heads: int = 16num_channels: int = 3image_size: int | list[int] | tuple[int, int] = 1024patch_size: int | list[int] | tuple[int, int] = 16hidden_act: str = 'gelu'attention_dropout: float | int = 0.0rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneinitializer_range: float = 0.02 )
Parameter
- hidden_size (
int, opsional, default1024) — Dimensi dari representasi tersembunyi. - intermediate_size (
int, opsional, default4096) — Dimensi representasi MLP. - num_hidden_layers (
int, opsional, default24) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default16) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer. - num_channels (
int, opsional, defaultnya3) — Jumlah saluran input. - image_size (
Union[int, list[int], tuple[int, int]], opsional, defaultnya1024) — Ukuran (resolusi) dari setiap gambar. - patch_size (
Union[int, list[int], tuple[int, int]], opsional, defaultnya16) — Ukuran (resolusi) dari setiap patch. - hidden_act (
str, opsional, defaultnyagelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - attention_dropout (
Union[float, int], opsional, default0.0) — Rasio dropout untuk probabilitas perhatian. - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], opsional) — Kamus yang berisi parameter konfigurasi untuk embedding RoPE. Kamus tersebut harus berisi nilai untukrope_thetadan secara opsional parameter yang digunakan untuk penskalaan jika Anda ingin menggunakan RoPE denganmax_position_embeddingsyang lebih panjang. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari PixtralVisionModel. Kelas ini digunakan untuk membuat instans model Pixtral sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari mistral-labs/pixtral-12b
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import PixtralVisionModel, PixtralVisionConfig
>>> # Initializing a Pixtral-12B style configuration
>>> config = PixtralVisionConfig()
>>> # Initializing a model (with randomly initialized weights) from the configuration
>>> model = PixtralVisionModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configMistralCommonBackend
kelas transformers.MistralCommonBackend
< source >( tokenizer_path: str | os.PathLike | pathlib.Pathmode: str | ValidationMode = 'test'model_max_length: int = 1000000000000000019884624838656padding_side: str = 'left'truncation_side: str = 'right'model_input_names: list[str] | None = Noneclean_up_tokenization_spaces: bool = False**kwargs )
Kelas untuk membungkus tokenizer mistral-common.
mistral-common adalah pustaka tokenizer resmi untuk model Mistral AI. Untuk menggunakannya, Anda perlu menginstalnya dengan:
pip install transformers[mistral-common]
Jika tidak, tokenizer akan kembali ke implementasi tokenizer dari Transformers.
Untuk informasi lebih lanjut tentang mistral-common, lihat mistral-common.
Kelas ini adalah pembungkus di sekitar mistral_common.tokens.tokenizers.mistral.MistralTokenizer.
Kelas ini menyediakan antarmuka yang kompatibel dengan Hugging Face untuk melakukan tokenisasi menggunakan tokenizer resmi mistral-common dan mewarisi dari kelas PreTrainedTokenizerBase.
Berikut adalah perbedaan perilaku utama dengan kelas PythonBackend:
- Pasangan sekuens tidak didukung. Tanda tangan dipertahankan untuk kompatibilitas, tetapi semua argumen yang terkait dengan pasangan sekuens diabaikan. Nilai pengembalian untuk pasangan dikembalikan sebagai
None. - Argumen
is_split_into_wordstidak didukung. - Tidak mungkin untuk menambahkan token baru ke tokenizer. Token khusus ditangani secara berbeda dari Transformers. Di
mistral-common, token khusus tidak pernah dikodekan secara langsung. Ini berarti bahwa:tokenizer.encode("<s>")tidak akan mengembalikan ID dari token<s>. Sebaliknya, ia akan mengembalikan daftar ID yang sesuai dengan tokenisasi dari string"<s>". Untuk informasi lebih lanjut, lihat dokumentasi mistral-common.
Jika Anda memiliki saran untuk meningkatkan kelas ini, silakan buka issue di repositori GitHub mistral-common jika terkait dengan tokenizer atau di repositori GitHub Transformers jika terkait dengan antarmuka Hugging Face.
add_special_tokens
< source >( special_tokens_dict: dictreplace_extra_special_tokens: bool = True )
MistralCommonBackend tidak mengimplementasikan add_special_tokens sesuai desainnya.
Jika Anda ingin perilaku ini diimplementasikan, silakan buka masalah di repositori Transformers atau mistral-common untuk memintanya.
MistralCommonBackend tidak mengimplementasikan add_special_tokens sesuai desainnya.
Jika Anda ingin perilaku ini diimplementasikan, silakan buka masalah di repositori Transformers atau mistral-common untuk memintanya.
apply_chat_template
< source >( conversation: list[dict[str, str]] | list[list[dict[str, str]]]tools: list[dict | collections.abc.Callable] | None = Noneadd_generation_prompt: bool = Falsecontinue_final_message: bool = Falsetokenize: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool = Falsemax_length: int | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_dict: bool = Truereasoning_effort: ReasoningEffort | None = None**kwargs ) → Union[str, list[int], list[str], list[list[int]], BatchEncoding]
Parameter
- conversation (Union[List[Dict[str, str]], List[List[Dict[str, str]]]]) — Daftar dict dengan kunci “role” dan “content”, yang merepresentasikan riwayat percakapan sejauh ini.
- tools (
List[Union[Dict, Callable]], opsional) — Daftar tools (fungsi callable) yang akan dapat diakses oleh model. Jika template tidak mendukung function calling, argumen ini tidak akan berpengaruh. Setiap tool harus diberikan sebagai JSON Schema, yang mencantumkan nama, deskripsi, dan tipe argumen untuk tool tersebut. Lihat panduan chat templating kami untuk informasi lebih lanjut. - add_generation_prompt (
bool, opsional) — Argumen ini tidak berpengaruh padaMistralCommonBackend. Namun, argumen ini tidak dapat digunakan bersamaan dengancontinue_final_messageuntuk menjaga konsistensi API. Jika percakapan diakhiri dengan pesan asisten, akan muncul error. Dalam kasus seperti itu, gunakancontinue_final_messagesebagai gantinya. - continue_final_message (bool, opsional) —
Jika ini diatur, chat akan diformat sehingga pesan terakhir dalam chat bersifat terbuka, tanpa token EOS. Model akan melanjutkan pesan ini alih-alih memulai pesan baru. Hal ini memungkinkan Anda untuk “memrefill” sebagian respons model. Tidak dapat digunakan bersamaan dengan
add_generation_prompt. - tokenize (
bool, defaultnyaTrue) — Apakah akan melakukan tokenisasi pada output. JikaFalse, output akan berupa string. - padding (
bool,stratau PaddingStrategy, opsional, defaultnyaFalse) — Pilih strategi untuk melakukan padding pada urutan yang dikembalikan (sesuai sisi padding dan indeks padding model) di antara:Trueatau'longest': Pad hingga urutan terpanjang dalam batch (atau tanpa padding jika hanya satu urutan yang diberikan).'max_length': Pad hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.Falseatau'do_not_pad'(default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
- truncation (
bool, defaultnyaFalse) — Apakah akan memotong (truncate) urutan pada panjang maksimum. Tidak berpengaruh jika tokenize adalahFalse. - max_length (
int, opsional) — Panjang maksimum (dalam token) yang digunakan untuk padding atau truncation. Tidak berpengaruh jika tokenize adalahFalse. Jika tidak ditentukan, atributmax_lengthdari tokenizer akan digunakan sebagai nilai default. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor dari framework tertentu. Tidak berpengaruh jika tokenize adalahFalse. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.
- return_dict (
bool, defaultnyaFalse) — Apakah akan mengembalikan kamus dengan output bernama. Tidak berpengaruh jika tokenize adalahFalse. Jika setidaknya satu percakapan berisi gambar, nilai pikselnya akan dikembalikan pada kuncipixel_valuesdan ukuran gambar pada kunciimage_sizes. - reasoning_effort (
ReasoningEffort, opsional) — Upaya penalaran yang akan digunakan untuk pelengkapan chat pada model yang mendukungnya. Nilai yang mungkin adalah:ReasoningEffort.none: Model tidak akan melakukan penalaran.ReasoningEffort.high: Model akan menggunakan pendekatan penalaran. Jika tidak ditentukan, upaya penalaran default akan digunakan.
- kwargs (argumen kata kunci tambahan, opsional) —
Argumen tambahan yang diteruskan ke metode
ChatCompletionRequest.from_openaidari mistral-common.
Mengembalikan
Union[str, list[int], list[str], list[list[int]], BatchEncoding]
Chat yang telah ditokenisasi sejauh ini, termasuk token kontrol. Output ini siap untuk diteruskan ke model, baik secara langsung maupun melalui metode seperti generate().
Mengonversi daftar kamus dengan kunci "role" dan "content" menjadi daftar id token.
batch_decode
< source >( sequences: typing.Union[list[int], list[list[int]], numpy.ndarray, ForwardRef('torch.Tensor')]skip_special_tokens: bool = Falseclean_up_tokenization_spaces: bool | None = None**kwargs ) → list[str]
Parameter
- sequences (
Union[list[int], list[list[int]], np.ndarray, torch.Tensor]) — Daftar id input yang telah ditokenisasi. Dapat diperoleh menggunakan metode__call__. - skip_special_tokens (
bool, opsional, defaultnyaFalse) — Apakah token khusus akan dihapus saat decoding. - clean_up_tokenization_spaces (
bool, opsional) — Apakah akan membersihkan spasi tokenisasi. JikaNone, akan menggunakan nilai defaultself.clean_up_tokenization_spaces. - kwargs (argumen kata kunci tambahan, opsional) —
Tidak didukung oleh
MistralCommonBackend.batch_decode. Akan memicu error jika digunakan.
Mengembalikan
list[str]
Daftar kalimat yang telah didekode.
Konversi daftar dari daftar id token menjadi daftar string dengan memanggil decode.
Metode ini disediakan untuk kompatibilitas mundur. Metode decode sekarang menangani input batch secara native,
sehingga Anda dapat menggunakan decode secara langsung alih-alih batch_decode.
build_inputs_with_special_tokens
< source >( token_ids_0: listtoken_ids_1: None = None ) → list[int]
Bangun input model dari sebuah sekuens dengan menambahkan token khusus.
Metode ini membangun input secara dinamis berdasarkan mode tokenizer:
"test": seq0 [EOS]"finetuning": [BOS] seq0
convert_added_tokens
< source >( obj: tokenizers.AddedToken | typing.Anysave: bool = Falseadd_type_field: bool = True )
MistralCommonBackend tidak mengimplementasikan convert_added_tokens sesuai desainnya.
Jika Anda ingin perilaku ini diimplementasikan, silakan buka masalah di repositori Transformers atau mistral-common untuk memintanya.
create_token_type_ids_from_sequences
< source >( token_ids_0: listtoken_ids_1: None = None ) → list[int]
Buat maska nol dari id token dengan token khusus yang ditambahkan.
Dipertahankan agar sesuai dengan implementasi Transformers.
decode
< source >( token_ids: typing.Union[int, list[int], list[list[int]], numpy.ndarray, ForwardRef('torch.Tensor')]skip_special_tokens: bool = Falseclean_up_tokenization_spaces: bool | None = None**kwargs ) → Union[str, list[str]]
Parameter
- token_ids (
Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]) — Satu sekuens atau batch (daftar sekuens) dari id input yang telah ditokenisasi. Dapat diperoleh menggunakan metode__call__. - skip_special_tokens (
bool, opsional, defaultnyaFalse) — Apakah token khusus akan dihapus saat decoding. - clean_up_tokenization_spaces (
bool, opsional) — Apakah akan membersihkan spasi tokenisasi. JikaNone, akan menggunakan nilai defaultself.clean_up_tokenization_spaces. - kwargs (argumen kata kunci tambahan, opsional) —
Tidak didukung oleh
MistralCommonBackend.decode. Akan memicu error jika digunakan.
Mengembalikan
Union[str, list[str]]
String yang didekode untuk satu urutan, atau daftar string yang didekode untuk batch urutan.
Mengonversi urutan id dalam string, menggunakan tokenizer dan kosakata dengan opsi untuk menghapus token khusus dan merapikan spasi tokenisasi.
encode
< source >( text: str | list[int]text_pair: None = Noneadd_special_tokens: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0pad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Noneverbose: bool = Truereturn_offsets_mapping: typing.Literal[False] = Falsesplit_special_tokens: typing.Literal[False] = False**kwargs ) → list[int], torch.Tensor
Parameter
- text (
strataulist[int]) — Urutan pertama yang akan dikodekan. Ini bisa berupa string atau daftar bilangan bulat (id string yang telah ditokenisasi). - text_pair (
None, opsional) — Tidak didukung olehMistralCommonBackend.encode. Dipertahankan untuk mencocokkan tanda tanganPreTrainedTokenizerBase.encode. - add_special_tokens (
bool, opsional, defaultTrue) — Apakah akan menambahkan token khusus saat meng-encode urutan. Ini akan menggunakan fungsiPretrainedTokenizerBase.build_inputs_with_special_tokensyang mendasarinya, yang mendefinisikan token mana yang ditambahkan secara otomatis ke input ids. Ini berguna jika Anda ingin menambahkan tokenbosataueossecara otomatis. Saat Tokenizer dimuat dengan modefinetuning, ia menambahkan baikbosmaupuneos. Sebaliknya, untuk mode “test” ia hanya menambahkanbos. - 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,stratau TruncationStrategy, opsional, defaultnyaFalse) — Mengaktifkan dan mengontrol pemotongan. Menerima nilai-nilai berikut:Trueatau'longest_first': Potong 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_truncate'(default): Tidak ada pemotongan (yaitu, dapat menghasilkan batch dengan panjang sekuens yang lebih besar dari ukuran input maksimum yang diizinkan model).
- max_length (
int, opsional) — Mengontrol panjang maksimum yang digunakan oleh salah satu parameter truncation/padding.Jika tidak disetel atau disetel ke
None, ini akan menggunakan panjang maksimum model yang telah didefinisikan sebelumnya jika panjang maksimum diperlukan oleh salah satu parameter truncation/padding. Jika model tidak memiliki panjang input maksimum yang spesifik (seperti XLNet), truncation/padding ke panjang maksimum akan dinonaktifkan. - stride (
int, opsional, default 0) — Jika diatur ke sebuah angka bersama denganmax_length, token yang meluap yang dikembalikan saatreturn_overflowing_tokens=Trueakan berisi beberapa token dari akhir urutan terpotong yang dikembalikan untuk menyediakan beberapa tumpang tindih antara urutan terpotong dan urutan yang meluap. Nilai argumen ini menentukan jumlah token yang tumpang tindih. - pad_to_multiple_of (
int, opsional) — Jika diset, akan melakukanpaddingpada urutan hingga menjadi kelipatan dari nilai yang diberikan. Memerlukanpaddinguntuk diaktifkan. Ini sangat berguna untuk memungkinkan penggunaan Tensor Cores pada perangkat keras NVIDIA dengan kemampuan komputasi>= 7.5(Volta). - padding_side (
str, opsional) — Sisi tempat model harus menerapkan padding. Harus dipilih antara [‘right’, ‘left’]. Nilai default diambil dari atribut kelas dengan nama yang sama. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor alih-alih daftar integer Python. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.
- **kwargs — Tidak didukung oleh
MistralCommonBackend.encode. Akan memicu error jika digunakan.
Mengembalikan
list[int], torch.Tensor
ID tokenisasi dari teks.
Mengonversi string menjadi urutan id (bilangan bulat), menggunakan tokenizer dan kosakata.
from_pretrained
< source >( pretrained_model_name_or_path: str | os.PathLike*init_inputsmode: str | ValidationMode = 'test'cache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'model_max_length: int = 1000000000000000019884624838656padding_side: str = 'left'truncation_side: str = 'right'model_input_names: list[str] | None = Noneclean_up_tokenization_spaces: bool = False**kwargs )
Parameter
- pretrained_model_name_or_path (
stratauos.PathLike) — Bisa berupa:- String, model id dari tokenizer yang sudah ditentukan sebelumnya dan dihosting di dalam repositori model di huggingface.co.
- Path ke direktori yang berisi konfigurasi tokenizer, misalnya yang disimpan menggunakan metode
MistralCommonBackend.tokenization_mistral_common.save_pretrained, contohnya./my_model_directory/.
- mode (
Union[str, ValidationMode], opsional, defaultnyaValidationMode.test) — Mode validasi untukMistralTokenizertokenizer. Nilai yang mungkin adalah:"finetuning"atauValidationMode.finetuning: Mode fine-tuning."test"atauValidationMode.test: Mode pengujian. Hal ini mengubah cara tokenizer memvalidasi input dan menyiapkan permintaan ke model.
- cache_dir (
stratauos.PathLike, opsional) — Path ke direktori tempat file kosakata tokenizer predefined yang diunduh harus di-cache jika cache standar tidak digunakan. - force_download (
bool, opsional, defaultFalse) — Apakah akan memaksa (mengunduh ulang) file kosakata dan menimpa versi yang di-cache jika sudah ada. - 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(disimpan di~/.huggingface). - local_files_only (
bool, opsional, defaultnyaFalse) — Apakah hanya mengandalkan file lokal dan tidak mencoba mengunduh file apa pun. - revision (
str, opsional, default"main") — Versi model spesifik yang akan digunakan. Bisa berupa nama branch, nama tag, atau commit id, karena kami menggunakan sistem berbasis git untuk menyimpan model dan artefak lainnya di huggingface.co, sehinggarevisiondapat berupa identifikasi apa pun yang diizinkan oleh git. - max_length (
int, opsional) — Mengontrol panjang maksimum yang digunakan oleh salah satu parameter truncation/padding.Jika tidak disetel atau disetel ke
None, ini akan menggunakan panjang maksimum model yang telah didefinisikan sebelumnya jika panjang maksimum diperlukan oleh salah satu parameter truncation/padding. Jika model tidak memiliki panjang input maksimum yang spesifik (seperti XLNet), truncation/padding ke panjang maksimum akan dinonaktifkan. - padding_side (
str, opsional, defaultnya"left") — Sisi tempat model harus menerapkan padding. Harus dipilih antara [‘right’, ‘left’]. Nilai default diambil dari atribut kelas dengan nama yang sama. - truncation_side (
str, opsional, default"right") — Sisi tempat model harus menerapkan pemotongan. Harus dipilih antara [‘right’, ‘left’]. - model_input_names (
List[str], opsional) — Daftar input yang diterima oleh forward pass model (seperti"token_type_ids"atau"attention_mask"). Nilai default diambil dari atribut kelas dengan nama yang sama. - clean_up_tokenization_spaces (
bool, opsional, defaultFalse) — Apakah model harus membersihkan spasi yang ditambahkan saat teks input dipecah selama proses tokenisasi. - kwargs (argumen kata kunci tambahan, opsional) —
Tidak didukung oleh
MistralCommonBackend.from_pretrained. Akan memicu error jika digunakan.
Instansiasi MistralCommonBackend dari tokenizer yang sudah ditentukan.
MistralCommonBackend tidak mengimplementasikan get_chat_template secara sengaja karena mistral-common tidak menggunakan template chat.
get_special_tokens_mask
< source >( token_ids_0: listtoken_ids_1: None = Nonealready_has_special_tokens: bool = False ) → A list of integers in the range [0, 1]
Parameter
- token_ids_0 (
list[int]) — Daftar id dari urutan. - token_ids_1 (
None, opsional) — None, dipertahankan agar sesuai dengan implementasi Transformers. - already_has_special_tokens (
bool, opsional, defaultFalse) — Apakah daftar token sudah diformat dengan token khusus untuk model.
Mengembalikan
Daftar bilangan bulat dalam rentang [0, 1]
1 untuk token khusus, 0 untuk token urutan.
Mengambil id urutan dari daftar token yang tidak memiliki token khusus yang ditambahkan. Metode ini dipanggil saat menambahkan token khusus menggunakan metode prepare_for_model atau encode_plus tokenizer.
Mengembalikan kosakata sebagai kamus dari token ke indeks.
Ini adalah konversi yang kehilangan data. Mungkin ada beberapa token id yang didekode menjadi string yang sama karena sekuens byte UTF-8 parsial dikonversi menjadi �.
num_special_tokens_to_add
< source >( pair: typing.Literal[False] = False ) → int
Mengembalikan jumlah token yang ditambahkan saat mengkodekan sekuens dengan token khusus.
Ini mengkodekan input dummy dan memeriksa jumlah token yang ditambahkan, sehingga tidak efisien. Jangan letakkan ini di dalam loop pelatihan Anda.
prepare_for_model
< source >( ids: listpair_ids: None = Noneadd_special_tokens: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0pad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_length: bool = Falseverbose: bool = Trueprepend_batch_axis: bool = Falsereturn_offsets_mapping: typing.Literal[False] = Falsesplit_special_tokens: typing.Literal[False] = False**kwargs ) → BatchEncoding
Parameter
- ids (
list[int]) — ID input yang ditokenkan dari urutan pertama. - pair_ids (
None, opsional) — Tidak didukung olehMistralCommonBackend. Dipertahankan untuk mencocokkan antarmukaPreTrainedTokenizerBase. - add_special_tokens (
bool, opsional, defaultTrue) — Apakah akan menambahkan token khusus saat meng-encode urutan. Ini akan menggunakan fungsiPretrainedTokenizerBase.build_inputs_with_special_tokensyang mendasarinya, yang mendefinisikan token mana yang ditambahkan secara otomatis ke input ids. Ini berguna jika Anda ingin menambahkan tokenbosataueossecara otomatis. Saat Tokenizer dimuat dengan modefinetuning, ia menambahkan baikbosmaupuneos. Sebaliknya, untuk mode “test” ia hanya menambahkanbos. - 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,stratau TruncationStrategy, opsional, defaultnyaFalse) — Mengaktifkan dan mengontrol pemotongan. Menerima nilai-nilai berikut:Trueatau'longest_first': Potong 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_truncate'(default): Tidak ada pemotongan (yaitu, dapat menghasilkan batch dengan panjang sekuens yang lebih besar dari ukuran input maksimum yang diizinkan model).
- max_length (
int, opsional) — Mengontrol panjang maksimum yang digunakan oleh salah satu parameter truncation/padding.Jika tidak disetel atau disetel ke
None, ini akan menggunakan panjang maksimum model yang telah didefinisikan sebelumnya jika panjang maksimum diperlukan oleh salah satu parameter truncation/padding. Jika model tidak memiliki panjang input maksimum yang spesifik (seperti XLNet), truncation/padding ke panjang maksimum akan dinonaktifkan. - stride (
int, opsional, default 0) — Jika diatur ke sebuah angka bersama denganmax_length, token yang meluap yang dikembalikan saatreturn_overflowing_tokens=Trueakan berisi beberapa token dari akhir urutan terpotong yang dikembalikan untuk menyediakan beberapa tumpang tindih antara urutan terpotong dan urutan yang meluap. Nilai argumen ini menentukan jumlah token yang tumpang tindih. - pad_to_multiple_of (
int, opsional) — Jika diset, akan melakukanpaddingpada urutan hingga menjadi kelipatan dari nilai yang diberikan. Memerlukanpaddinguntuk diaktifkan. Ini sangat berguna untuk memungkinkan penggunaan Tensor Cores pada perangkat keras NVIDIA dengan kemampuan komputasi>= 7.5(Volta). - padding_side (
str, opsional) — Sisi tempat model harus menerapkan padding. Harus dipilih antara [‘right’, ‘left’]. Nilai default diambil dari atribut kelas dengan nama yang sama. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor alih-alih daftar integer Python. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.
- return_token_type_ids (
bool, opsional) — Apakah akan mengembalikan token type ID. UntukMistralCommonBackendmengembalikan daftar nol sepanjang urutan, karena hanya satu urutan yang didukung. - return_attention_mask (
bool, opsional) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, akan mengembalikan attention mask sesuai dengan default tokenizer tertentu, yang didefinisikan olehreturn_outputsatribut. - return_overflowing_tokens (
bool, opsional, defaultFalse) — Apakah akan mengembalikan urutan token yang meluap. Jika sepasang urutan id input (atau batch dari pasangan) diberikan dengantruncation_strategy = longest_firstatauTrue, error akan dilemparkan alih-alih mengembalikan token yang meluap. - return_special_tokens_mask (
bool, opsional, defaultFalse) — Apakah akan mengembalikan informasi mask token khusus. - return_length (
bool, opsional, defaultFalse) — Apakah akan mengembalikan panjang dari input yang dikodekan. - verbose (
bool, opsional, defaultnyaTrue) — Apakah akan mencetak lebih banyak informasi dan peringatan. - return_offsets_mapping (
Literal[False], opsional) — False, dipertahankan agar sesuai dengan tanda tangan Transformers. - split_special_tokens (
Literal[False], opsional) — False, dipertahankan agar sesuai dengan tanda tangan Transformers. - **kwargs — diteruskan ke metode
self.tokenize()
Mengembalikan
BatchEncoding dengan bidang berikut:
-
input_ids — Daftar id token yang akan diberikan ke model.
-
attention_mask — Daftar indeks yang menentukan token mana yang harus diperhatikan oleh model (ketika
return_attention_mask=Trueatau jika “attention_mask” ada diself.model_input_names). -
overflowing_tokens — Daftar sekuens token yang meluap (ketika
max_lengthditentukan danreturn_overflowing_tokens=True). -
num_truncated_tokens — Jumlah token yang dipangkas (ketika
max_lengthditentukan danreturn_overflowing_tokens=True). -
special_tokens_mask — Daftar angka 0 dan 1, di mana 1 menandakan token khusus yang ditambahkan dan 0 menandakan token urutan reguler (ketika
add_special_tokens=Truedanreturn_special_tokens_mask=True). -
length — Panjang dari input (ketika
return_length=True)
Menyiapkan urutan id input agar dapat digunakan oleh model. Menambahkan token khusus, memotong urutan jika meluap dengan mempertimbangkan token khusus, dan mengelola jendela bergerak (dengan stride yang didefinisikan pengguna) untuk token yang meluap.
save_chat_templates
< source >( save_directory: str | os.PathLiketokenizer_config: dictfilename_prefix: str | Nonesave_jinja_files: bool )
MistralCommonBackend tidak mengimplementasikan save_chat_templates secara sengaja karena mistral-common tidak menggunakan chat template.
save_pretrained
< source >( save_directory: str | os.PathLike | pathlib.Pathpush_to_hub: bool = Falsetoken: str | bool | None = Nonecommit_message: str | None = Nonerepo_id: str | None = Noneprivate: bool | None = Nonesave_format: str | None = None**kwargs ) → tuple[str, ...]
Parameter
- save_directory (
str | os.PathLike | Path) — Direktori tempat tokenizer akan disimpan. - push_to_hub (
bool, opsional, defaultFalse) — Dorong ke HF Hub setelah menyimpan. - token (
strataubool, opsional) — Token untuk autentikasi Hub. - commit_message (
str, opsional) — Pesan commit saat mendorong. - repo_id (
str, opsional) — id repositori Hub. - private (
bool, opsional) — Apakah repositori bersifat privat. - save_format (
str, opsional) —"mistral"untuk menyimpan format tekken native,"hf"untuk format HuggingFace. None mempertahankan format asli. - kwargs (
dict, opsional) — Tidak didukung — akan memicu error.
Mengembalikan
tuple[str, ...]
Lokasi file yang disimpan.
Simpan status tokenizer lengkap.
Ketika save_format adalah "mistral" (atau None untuk tokenizer tekken),
file tokenizer asli (misalnya tekken.json) ditulis ke save_directory. Ketika save_format adalah "hf", file format HF
(tokenizer.json + tokenizer_config.json) dihasilkan sebagai gantinya.
MistralCommonBackend tidak mengimplementasikan save_vocabulary sesuai desainnya.
Hal ini terjadi karena mistral-common dikonfigurasi oleh satu file tokenizer. Jika Anda ingin menyimpan kosakata, pertimbangkan untuk menggunakan metode save_pretrained sebagai gantinya.
tokenize
< source >( text: strreturn_offsets_mapping: typing.Literal[False] = Falsesplit_special_tokens: typing.Literal[False] = False**kwargs ) → list[str]
Parameter
- text (
str) — Urutan yang akan dikodekan. - return_offsets_mapping (
Literal[False], opsional) — False, dipertahankan agar sesuai dengan tanda tangan Transformers. - split_special_tokens (
Literal[False], opsional) — False, dipertahankan agar sesuai dengan tanda tangan Transformers. - **kwargs (argumen kata kunci tambahan) —
Tidak didukung oleh
MistralCommonBackend.tokenize. Akan memicu error jika digunakan.
Mengembalikan
list[str]
Daftar token.
Mengonversi string menjadi urutan token, menggunakan tokenizer.
Pecah menjadi kata untuk kosakata berbasis kata atau sub-kata untuk kosakata berbasis sub-kata.
truncate_sequences
< source >( ids: listpair_ids: None = Nonenum_tokens_to_remove: int = 0truncation_strategy: str | transformers.tokenization_utils_base.TruncationStrategy = 'longest_first'stride: int = 0**kwargs ) → Tuple[list[int], None, list[int]]
Parameter
- ids (
list[int]) — ID input yang telah ditokenisasi. Dapat diperoleh dari sebuah string dengan merangkai metodetokenizedanconvert_tokens_to_ids. - pair_ids (
None, opsional) — Tidak didukung olehMistralCommonBackend. Dipertahankan agar sesuai dengan tanda tanganPreTrainedTokenizerBase.truncate_sequences. - num_tokens_to_remove (
int, opsional, default 0) — Jumlah token yang akan dihapus menggunakan strategi pemotongan. - truncation_strategy (
stratau TruncationStrategy, opsional, default ke'longest_first') — Strategi yang diikuti untuk pemotongan. Bisa berupa:'longest_first': Potong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.'do_not_truncate'(default): Tidak ada pemotongan (yaitu, dapat menghasilkan batch dengan panjang sekuens yang lebih besar dari ukuran input maksimum yang diizinkan model).
- stride (
int, opsional, default 0) — Jika diatur ke angka positif, token yang meluap yang dikembalikan akan berisi beberapa token dari urutan utama yang dikembalikan. Nilai argumen ini menentukan jumlah token tambahan.
Mengembalikan
Tuple[list[int], None, list[int]]
ids yang dipangkas dan daftar token yang meluap. None dikembalikan untuk mencocokkan tanda tangan Transformers.
Memotong pasangan sekuens secara in-place mengikuti strategi.
PixtralVisionModel
kelas transformers.PixtralVisionModel
< source >( config: PixtralVisionConfig )
Parameter
- config (PixtralVisionConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Model Pixtral polos yang menghasilkan hidden-states mentah tanpa head spesifik di atasnya.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( pixel_values: Tensorimage_sizes: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)
Parameter
- pixel_values (
torch.Tensordengan bentuk(batch_size, num_channels, image_size, image_size)) — Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan PixtralImageProcessor. Lihat PixtralImageProcessor.call() untuk detailnya (PixtralProcessor menggunakan PixtralImageProcessor untuk memproses gambar). - image_sizes (
torch.Tensordengan bentuk(batch_size, 2), opsional) — Ukuran gambar dalam batch, yaitu (tinggi, lebar) untuk setiap gambar.
Mengembalikan
BaseModelOutputWithPooling atau tuple(torch.FloatTensor)
A BaseModelOutputWithPooling atau tuple dari
torch.FloatTensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (PixtralVisionConfig) dan input.
Metode forward dari PixtralVisionModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
last_hidden_state (
torch.FloatTensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.pooler_output (
torch.FloatTensordengan bentuk(batch_size, hidden_size)) — State tersembunyi dari lapisan terakhir untuk token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.hidden_states (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.FloatTensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple(torch.FloatTensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.FloatTensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).
PixtralImageProcessor
kelas transformers.PixtralImageProcessor
< source >( **kwargs: *<class 'transformers.models.pixtral.image_processing_pixtral.PixtralImageProcessorKwargs'> )
Parameter
- do_convert_rgb (
bool, kwargs, opsional, defaultTrue) — Apakah akan mengkonversi gambar ke RGB. - do_resize (
bool, kwargs, opsional, defaultTrue) — Apakah akan mengubah ukuran gambar. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, defaultnya{'longest_edge' -- 1024}): Menggambarkan dimensi input maksimum untuk model. - default_to_square (
bool, kwargs, opsional, defaultnyaTrue) — Apakah akan menggunakan gambar persegi sebagai default saat melakukan resize, jika size berupa int. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkancenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, defaultnya3) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini bisa berupa salah satu enumPILImageResampling. Hanya berpengaruh jikado_resizediatur keTrue. - do_rescale (
bool, kwargs, opsional, defaultTrue) — Apakah akan melakukan penskalaan ulang pada gambar. - rescale_factor (
float, kwargs, opsional, default0.00392156862745098) — Faktor rescale untuk menskalakan ulang gambar jikado_rescalediatur keTrue. - do_normalize (
bool, kwargs, opsional, defaultTrue) — Apakah akan menormalisasi gambar. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsional, defaultnya[0.48145466, 0.4578275, 0.40821073]) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jikado_normalizediatur keTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsional, defaultnya[0.26862954, 0.26130258, 0.27577711]) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jikado_normalizediatur keTrue. - do_pad (
bool, kwargs, opsional, defaultTrue) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran dalam{"height": int, "width" int}untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang disediakan untuk pra-pemrosesan. Jikapad_sizetidak disediakan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketikado_pad=True. - do_center_crop (
bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — HanyaChannelDimension.FIRSTyang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:"channels_first"atauChannelDimension.FIRST: gambar dalam format (num_channels, height, width)."channels_last"atauChannelDimension.LAST: gambar dalam format (height, width, num_channels)."none"atauChannelDimension.NONE: gambar dalam format (height, width).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke'pt', selain itu mengembalikan daftar tensor. - disable_grouping (
bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang. - patch_size (
Union[dict[str, *kwargs*, int], int]opsional, defaultnya{"height" -- 16, "width": 16}): Ukuran patch dalam model, digunakan untuk menghitung ukuran gambar keluaran.
Membangun pemroses gambar PixtralImageProcessor.
praproses
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.pixtral.image_processing_pixtral.PixtralImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Parameter
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Gambar yang akan dipreprocess. Mengharapkan satu gambar atau batch gambar dengan nilai piksel berkisar dari 0 hingga 255. Jika mengirimkan gambar dengan nilai piksel antara 0 dan 1, aturdo_rescale=False. - do_convert_rgb (
bool, kwargs, opsional) — Apakah akan mengonversi gambar ke RGB. - do_resize (
bool, kwargs, opsional) — Apakah akan mengubah ukuran gambar. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Menggambarkan dimensi input maksimum untuk model. - default_to_square (
bool, kwargs, opsional) — Apakah akan menggunakan gambar persegi sebagai default saat mengubah ukuran, jika size berupa int. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkancenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini dapat berupa salah satu enumPILImageResampling. Hanya berpengaruh jikado_resizediatur keTrue. - do_rescale (
bool, kwargs, opsional) — Apakah akan melakukan penskalaan ulang pada gambar. - rescale_factor (
float, kwargs, opsional) — Faktor rescale untuk menskalakan ulang gambar jikado_rescalediatur keTrue. - do_normalize (
bool, kwargs, opsional) — Apakah akan menormalisasi gambar. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jikado_normalizediatur keTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jikado_normalizediatur keTrue. - do_pad (
bool, kwargs, opsional) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran dalam{"height": int, "width" int}untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang disediakan untuk pra-pemrosesan. Jikapad_sizetidak disediakan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketikado_pad=True. - do_center_crop (
bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — HanyaChannelDimension.FIRSTyang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:"channels_first"atauChannelDimension.FIRST: gambar dalam format (num_channels, height, width)."channels_last"atauChannelDimension.LAST: gambar dalam format (height, width, num_channels)."none"atauChannelDimension.NONE: gambar dalam format (height, width).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke'pt', selain itu mengembalikan daftar tensor. - disable_grouping (
bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang. - patch_size (
Union[dict[str, *kwargs*, int], int]opsional, defaultnya{"height" -- 16, "width": 16}): Ukuran patch dalam model, digunakan untuk menghitung ukuran gambar keluaran.
Mengembalikan
~image_processing_base.BatchFeature
- data (
dict) — Kamus berisi daftar/array/tensor yang dikembalikan oleh metode call (‘pixel_values’, dll.). - tensor_type (
Union[None, str, TensorType], opsional) — Anda dapat memberikan tensor_type di sini untuk mengonversi daftar bilangan bulat menjadi Tensor PyTorch/Numpy saat inisialisasi.
PixtralImageProcessorPil
kelas transformers.PixtralImageProcessorPil
< source >( **kwargs: *<class 'transformers.models.pixtral.image_processing_pil_pixtral.PixtralImageProcessorKwargs'> )
Parameter
- do_convert_rgb (
bool, kwargs, opsional, defaultTrue) — Apakah akan mengkonversi gambar ke RGB. - do_resize (
bool, kwargs, opsional, defaultTrue) — Apakah akan mengubah ukuran gambar. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, defaultnya{'longest_edge' -- 1024}): Menggambarkan dimensi input maksimum untuk model. - default_to_square (
bool, kwargs, opsional, defaultnyaTrue) — Apakah akan menggunakan gambar persegi sebagai default saat melakukan resize, jika size berupa int. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkancenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, defaultnya3) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini bisa berupa salah satu enumPILImageResampling. Hanya berpengaruh jikado_resizediatur keTrue. - do_rescale (
bool, kwargs, opsional, defaultTrue) — Apakah akan melakukan penskalaan ulang pada gambar. - rescale_factor (
float, kwargs, opsional, default0.00392156862745098) — Faktor rescale untuk menskalakan ulang gambar jikado_rescalediatur keTrue. - do_normalize (
bool, kwargs, opsional, defaultTrue) — Apakah akan menormalisasi gambar. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsional, defaultnya[0.48145466, 0.4578275, 0.40821073]) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jikado_normalizediatur keTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsional, defaultnya[0.26862954, 0.26130258, 0.27577711]) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jikado_normalizediatur keTrue. - do_pad (
bool, kwargs, opsional, defaultTrue) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran dalam{"height": int, "width" int}untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang disediakan untuk pra-pemrosesan. Jikapad_sizetidak disediakan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketikado_pad=True. - do_center_crop (
bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — HanyaChannelDimension.FIRSTyang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:"channels_first"atauChannelDimension.FIRST: gambar dalam format (num_channels, height, width)."channels_last"atauChannelDimension.LAST: gambar dalam format (height, width, num_channels)."none"atauChannelDimension.NONE: gambar dalam format (height, width).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke'pt', selain itu mengembalikan daftar tensor. - disable_grouping (
bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang. - patch_size (
Union[dict[str, *kwargs*, int], int]opsional, defaultnya{"height" -- 16, "width": 16}): Ukuran patch dalam model, digunakan untuk menghitung ukuran gambar keluaran.
Membangun pemroses gambar PixtralImageProcessor.
praproses
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.pixtral.image_processing_pil_pixtral.PixtralImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Parameter
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Gambar yang akan dipreprocess. Mengharapkan satu gambar atau batch gambar dengan nilai piksel berkisar dari 0 hingga 255. Jika mengirimkan gambar dengan nilai piksel antara 0 dan 1, aturdo_rescale=False. - do_convert_rgb (
bool, kwargs, opsional) — Apakah akan mengonversi gambar ke RGB. - do_resize (
bool, kwargs, opsional) — Apakah akan mengubah ukuran gambar. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Menggambarkan dimensi input maksimum untuk model. - default_to_square (
bool, kwargs, opsional) — Apakah akan menggunakan gambar persegi sebagai default saat mengubah ukuran, jika size berupa int. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkancenter_crop. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini dapat berupa salah satu enumPILImageResampling. Hanya berpengaruh jikado_resizediatur keTrue. - do_rescale (
bool, kwargs, opsional) — Apakah akan melakukan penskalaan ulang pada gambar. - rescale_factor (
float, kwargs, opsional) — Faktor rescale untuk menskalakan ulang gambar jikado_rescalediatur keTrue. - do_normalize (
bool, kwargs, opsional) — Apakah akan menormalisasi gambar. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jikado_normalizediatur keTrue. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jikado_normalizediatur keTrue. - do_pad (
bool, kwargs, opsional) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran dalam{"height": int, "width" int}untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang disediakan untuk pra-pemrosesan. Jikapad_sizetidak disediakan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketikado_pad=True. - do_center_crop (
bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — HanyaChannelDimension.FIRSTyang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:"channels_first"atauChannelDimension.FIRST: gambar dalam format (num_channels, height, width)."channels_last"atauChannelDimension.LAST: gambar dalam format (height, width, num_channels)."none"atauChannelDimension.NONE: gambar dalam format (height, width).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke'pt', selain itu mengembalikan daftar tensor. - disable_grouping (
bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang. - patch_size (
Union[dict[str, *kwargs*, int], int]opsional, defaultnya{"height" -- 16, "width": 16}): Ukuran patch dalam model, digunakan untuk menghitung ukuran gambar keluaran.
Mengembalikan
~image_processing_base.BatchFeature
- data (
dict) — Kamus berisi daftar/array/tensor yang dikembalikan oleh metode call (‘pixel_values’, dll.). - tensor_type (
Union[None, str, TensorType], opsional) — Anda dapat memberikan tensor_type di sini untuk mengonversi daftar bilangan bulat menjadi Tensor PyTorch/Numpy saat inisialisasi.
PixtralProcessor
kelas transformers.PixtralProcessor
< source >( image_processor = Nonetokenizer = Nonepatch_size: int = 16spatial_merge_size: int = 1chat_template = Noneimage_token = '[IMG]'image_break_token = '[IMG_BREAK]'image_end_token = '[IMG_END]'**kwargs )
Parameter
- image_processor (
PixtralImageProcessor) — Pemroses gambar adalah input yang wajib. - tokenizer (
MistralCommonBackend) — Tokenizer adalah input yang wajib. - patch_size (
int, opsional, default 16) — Ukuran patch dari menara visual. - spatial_merge_size (
int, opsional, default 1) — Faktor downsampling untuk operasi spatial merge. - chat_template (
str) — Template Jinja untuk mengubah daftar pesan dalam chat menjadi string yang dapat ditokenisasi. - image_token (
str, opsional, default"[IMG]") — Token khusus yang digunakan untuk menandai lokasi gambar. - image_break_token (
str, opsional, defaultnya"[IMG_BREAK]") — Token khusus yang digunakan untuk menandai akhir dari satu baris piksel dalam gambar. - image_end_token (
str, opsional, default"[IMG_END]") — Token khusus yang digunakan untuk menandai akhir dari input gambar.
Membangun sebuah PixtralProcessor yang membungkus sebuah image processor dan tokenizer menjadi satu processor tunggal.
PixtralProcessor menyediakan semua fungsionalitas dari PixtralImageProcessor dan MistralCommonBackend. Lihat ~PixtralImageProcessor dan ~MistralCommonBackend untuk informasi lebih lanjut.
__call__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[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[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )
Parameter
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], opsional) — Gambar yang akan dipreprocess. Mengharapkan satu gambar atau batch gambar dengan nilai piksel berkisar dari 0 hingga 255. Jika mengirimkan gambar dengan nilai piksel antara 0 dan 1, aturdo_rescale=False. - text (
Union[str, list[str], list[list[str]]], opsional) — Sequens atau batch dari sequens yang akan dienkod. Setiap sequens dapat berupa string atau daftar string (string yang sudah dipretokenisasi). Jika Anda memasukkan input yang sudah dipretokenisasi, aturis_split_into_words=Trueuntuk menghindari ambiguitas dengan input yang di-batch. - videos (
Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]], opsional) — Video yang akan dipreprocess. Mengharapkan satu video atau batch video dengan nilai piksel berkisar dari 0 hingga 255. Jika mengirimkan video dengan nilai piksel antara 0 dan 1, aturdo_rescale=False. - audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], opsional) — Audio atau batch audio yang akan disiapkan. Setiap audio dapat berupa array NumPy atau tensor PyTorch. Jika berupa array NumPy/tensor PyTorch, setiap audio harus memiliki bentuk (C, T), di mana C adalah jumlah channel, dan T adalah panjang sampel dari audio tersebut. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek NumPynp.ndarray.
- **kwargs (ProcessingKwargs, opsional) — Opsi pemrosesan tambahan untuk setiap modalitas (teks, gambar, video, audio). Parameter spesifik model tercantum di atas; lihat kelas TypedDict untuk daftar lengkap argumen yang didukung.