Transformers documentation

Hiera

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

and get access to the augmented documentation experience

to get started

Model ini dipublikasikan di HF papers pada 2023-06-01 dan disumbangkan ke Hugging Face Transformers pada 2024-07-12.

Hiera

Ikhtisar

Hiera diusulkan dalam Hiera: A Hierarchical Vision Transformer without the Bells-and-Whistles oleh Chaitanya Ryali, Yuan-Ting Hu, Daniel Bolya, Chen Wei, Haoqi Fan, Po-Yao Huang, Vaibhav Aggarwal, Arkabandhu Chowdhury, Omid Poursaeed, Judy Hoffman, Jitendra Malik, Yanghao Li, Christoph Feichtenhofer

Paper ini memperkenalkan “Hiera,” sebuah Vision Transformer hierarkis yang menyederhanakan arsitektur vision transformer hierarkis modern dengan menghapus komponen yang tidak diperlukan tanpa mengorbankan akurasi atau efisiensi. Berbeda dengan transformer tradisional yang menambahkan komponen spesifik visi yang kompleks untuk meningkatkan kinerja klasifikasi terawasi, Hiera menunjukkan bahwa penambahan semacam itu, yang sering disebut “bells-and-whistles,” tidak esensial untuk akurasi tinggi. Dengan memanfaatkan tugas prateks visual yang kuat (MAE) untuk prapelatihan, Hiera mempertahankan kesederhanaan dan mencapai akurasi serta kecepatan yang unggul baik dalam inferensi maupun pelatihan di berbagai tugas pengenalan gambar dan video. Pendekatan ini menunjukkan bahwa bias spasial yang diperlukan untuk tugas visi dapat dipelajari secara efektif melalui prapelatihan yang tepat, sehingga menghilangkan kebutuhan akan kompleksitas arsitektur tambahan.

Abstrak dari makalah tersebut adalah sebagai berikut:

Transformers hierarkis modern untuk visi telah menambahkan beberapa komponen khusus visi dalam upaya meningkatkan kinerja klasifikasi berlabel. Meskipun komponen-komponen ini menghasilkan akurasi yang efektif dan jumlah FLOP yang menarik, kompleksitas tambahan yang ditambahkan justru membuat transformer ini lebih lambat dibandingkan dengan varian ViT polosnya. Dalam makalah ini, kami berargumen bahwa tambahan tersebut tidak diperlukan. Dengan melakukan pra-pelatihan menggunakan tugas prateks visual yang kuat (MAE), kami dapat menghilangkan semua fitur tambahan dari transformer visi multi-tahap state-of-the-art tanpa kehilangan akurasi. Dalam prosesnya, kami menciptakan Hiera, sebuah transformer visi hierarkis yang sangat sederhana yang lebih akurat daripada model-model sebelumnya sekaligus jauh lebih cepat baik saat inferensi maupun selama pelatihan. Kami mengevaluasi Hiera pada berbagai tugas untuk pengenalan gambar dan video. Kode dan model kami tersedia di https://github.com/facebookresearch/hiera.

drawing Hiera architecture. Taken from the original paper.

Model ini merupakan kontribusi bersama dari EduardoPacheco dan namangarg110. Kode aslinya dapat ditemukan [di sini] (https://github.com/facebookresearch/hiera).

Sumber daya

Daftar sumber resmi Hugging Face dan komunitas (ditandai dengan 🌎) untuk membantu Anda memulai dengan Hiera. Jika Anda tertarik untuk mengirimkan sumber agar disertakan di sini, silakan buka Pull Request dan kami akan meninjaunya! Sumber tersebut sebaiknya mendemonstrasikan sesuatu yang baru, bukan menduplikasi sumber yang sudah ada.

Image Classification

HieraConfig

kelas transformers.HieraConfig

< >

( 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 = Noneembed_dim: int = 96image_size: list[int] | tuple[int, ...] = (224, 224)patch_size: list[int] | tuple[int, ...] = (7, 7)patch_stride: list[int] | tuple[int, ...] = (4, 4)patch_padding: list[int] | tuple[int, ...] = (3, 3)mlp_ratio: float = 4.0depths: list[int] | tuple[int, ...] = (2, 3, 16, 3)num_heads: list[int] | tuple[int, ...] = (1, 2, 4, 8)embed_dim_multiplier: float | int = 2.0num_query_pool: int = 3query_stride: list[int] | tuple[int, ...] = (2, 2)masked_unit_size: list[int] | tuple[int, ...] = (8, 8)masked_unit_attention: list[bool] | tuple[bool, ...] = (True, True, False, False)drop_path_rate: float | int = 0.0num_channels: int = 3hidden_act: str = 'gelu'initializer_range: float = 0.02layer_norm_init: float = 1.0layer_norm_eps: float = 1e-06decoder_hidden_size: int | None = Nonedecoder_depth: int | None = Nonedecoder_num_heads: int | None = Nonenormalize_pixel_loss: bool | None = Truemask_ratio: float = 0.6_out_features: list[str] | None = None_out_indices: list[int] | None = None )

Parameter

  • embed_dim (int, opsional, default 96) — Dimensi dari embeddings dan hidden states.
  • image_size (Union[list[int], tuple[int, ...]], opsional, defaultnya (224, 224)) — Ukuran (resolusi) dari setiap gambar.
  • patch_size (Union[list[int], tuple[int, ...]], opsional, defaultnya (7, 7)) — Ukuran (resolusi) dari setiap patch.
  • patch_stride (list(int), opsional, defaultnya [4, 4]) — Stride dari patch.
  • patch_padding (list(int), opsional, defaultnya [3, 3]) — Padding dari patch.
  • mlp_ratio (float, opsional, default 4.0) — Rasio dimensi tersembunyi MLP terhadap dimensi embedding.
  • depths (Union[list[int], tuple[int, ...]], opsional, defaultnya (2, 3, 16, 3)) — Kedalaman setiap layer dalam Transformer.
  • num_heads (list(int), opsional, default [1, 2, 4, 8]) — Jumlah attention head di setiap layer encoder Transformer.
  • embed_dim_multiplier (float, opsional, default 2.0) — Pengali untuk dimensi patch embedding di setiap lapisan encoder Transformer.
  • num_query_pool (int, opsional, defaultnya 3) — Jumlah tahap query pool.
  • query_stride (list(int), opsional, defaultnya [2, 2]) — Stride dari query pool.
  • masked_unit_size (list(int), opsional, defaultnya [8, 8]) — Ukuran unit yang dimasker.
  • masked_unit_attention (list(bool), opsional, default [True, True, False, False]) — Apakah akan menggunakan masked unit attention di setiap lapisan encoder Transformer.
  • drop_path_rate (Union[float, int], opsional, defaultnya 0.0) — Tingkat drop path untuk fusi patch.
  • num_channels (int, opsional, defaultnya 3) — Jumlah saluran input.
  • hidden_act (str, opsional, defaultnya gelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • layer_norm_init (float, opsional, default 1.0) — Nilai bobot awal untuk lapisan normalisasi lapisan.
  • layer_norm_eps (float, opsional, defaultnya 1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • decoder_hidden_size (int, opsional) — Dimensi dari representasi tersembunyi.
  • decoder_depth (int, opsional) — Kedalaman decoder untuk pra-pelatihan MAE.
  • decoder_num_heads (int, opsional) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer.
  • normalize_pixel_loss (bool, opsional, default True) — Apakah loss piksel akan dinormalisasi berdasarkan jumlah piksel.
  • mask_ratio (float, opsional, default 0.6) — Rasio token yang di-mask pada input.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari HieraModel. Kelas ini digunakan untuk membuat instans model Hiera sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari facebook/hiera-base-224

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

Contoh:

>>> from transformers import HieraConfig, HieraModel

>>> # Initializing a Hiera hiera-base-patch16-224 style configuration
>>> configuration = HieraConfig()

>>> # Initializing a model (with random weights) from the hiera-base-patch16-224 style configuration
>>> model = HieraModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

HieraModel

kelas transformers.HieraModel

< >

( config: HieraConfigadd_pooling_layer: bool = Trueis_mae: bool = False )

Parameter

  • config (HieraConfig) — 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.
  • add_pooling_layer (bool, opsional, default True) — Apakah akan menerapkan lapisan pooling.
  • is_mae (bool, opsional, default False) — Apakah model akan dijalankan dalam mode MAE.

Model Hiera 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

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonenoise: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Noneinterpolate_pos_encoding: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parameter

  • pixel_values (torch.Tensor dengan bentuk (batch_size, num_channels, image_size, image_size), opsional) — Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan BitImageProcessor. Lihat BitImageProcessor.call() untuk detailnya (processor_class menggunakan BitImageProcessor untuk memproses gambar).
  • noise (torch.Tensor dengan bentuk (batch_size, num_mask_units), opsional) — Terutama digunakan untuk keperluan pengujian guna mengendalikan keacakan dan menjaga reproduktibilitas
  • output_attentions (bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihat attentions di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • interpolate_pos_encoding (bool, opsional) — Apakah akan menginterpolasi encoding posisi yang telah dilatih sebelumnya.
  • return_dict (bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.

Mengembalikan

BaseModelOutputWithPooling atau tuple(torch.Tensor)

A BaseModelOutputWithPooling atau tuple dari torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (HieraConfig) dan input.

Metode forward dari HieraModel menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya 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.Tensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • pooler_output (torch.Tensor dengan bentuk (batch_size, hidden_size)) — Hidden-state lapisan terakhir dari 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.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (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.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (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).

Contoh:

HieraForPreTraining

kelas transformers.HieraForPreTraining

< >

( config: HieraConfig )

Parameter

  • config (HieraConfig) — 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.

Transformer Model Hiera dengan decoder di bagian atas untuk pra-pelatihan tanpa pengawasan.

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

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonenoise: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Noneinterpolate_pos_encoding: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → HieraForPreTrainingOutput or tuple(torch.Tensor)

Parameter

  • pixel_values (torch.Tensor dengan bentuk (batch_size, num_channels, image_size, image_size), opsional) — Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan BitImageProcessor. Lihat BitImageProcessor.call() untuk detailnya (processor_class menggunakan BitImageProcessor untuk memproses gambar).
  • noise (torch.Tensor dengan bentuk (batch_size, num_mask_units), opsional) — Terutama digunakan untuk keperluan pengujian guna mengendalikan keacakan dan menjaga reproduktibilitas
  • output_attentions (bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihat attentions di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • interpolate_pos_encoding (bool, opsional) — Apakah akan menginterpolasi encoding posisi yang telah dilatih sebelumnya.
  • return_dict (bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.

Mengembalikan

HieraForPreTrainingOutput atau tuple(torch.Tensor)

HieraForPreTrainingOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (HieraConfig) dan input.

Metode forward dari HieraForPreTraining menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor dengan bentuk (1,)) — Loss rekonstruksi piksel.

  • logits (torch.Tensor dengan bentuk (batch_size, sequence_length, patch_size ** 2 * num_channels)) — Logits rekonstruksi piksel.

  • bool_masked_pos (torch.BoolTensor dengan bentuk (batch_size, sequence_length)) — Tensor yang menunjukkan patch mana yang di-mask (0) dan mana yang tidak (1).

  • ids_restore (torch.LongTensor dengan bentuk (batch_size, sequence_length)) — Tensor yang berisi indeks asli dari patch (yang diacak) yang dimasker.

  • hidden_states (tuple[torch.Tensor], opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (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.Tensor], opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (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).

  • reshaped_hidden_states (tuple(torch.Tensor), opsional, dikembalikan ketika output_hidden_states=True dilewatkan atau ketika config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output embeddings + satu untuk output setiap layer) dengan bentuk (batch_size, height, width, hidden_size). Hidden-states model pada output setiap layer ditambah output embedding awal yang di-reshape untuk mencakup dimensi spasial.

Contoh:

>>> from transformers import AutoImageProcessor, HieraForPreTraining
>>> import torch
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> image_processor = AutoImageProcessor.from_pretrained("facebook/hiera-tiny-224-mae-hf")
>>> model = HieraForPreTraining.from_pretrained("facebook/hiera-tiny-224-mae-hf")

>>> inputs = image_processor(images=image, return_tensors="pt")

>>> outputs = model(**inputs)
>>> logits = outputs.logits
>>> loss = outputs.loss
>>> print(list(logits.shape))
[1, 196, 768]

HieraForImageClassification

kelas transformers.HieraForImageClassification

< >

( config: HieraConfig )

Parameter

  • config (HieraConfig) — 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 transformer Hiera dengan kepala klasifikasi gambar di atasnya (lapisan linear di atas keadaan tersembunyi akhir dengan pooling rata-rata) misalnya untuk ImageNet.

Perlu dicatat bahwa dimungkinkan untuk melakukan fine-tuning Hiera pada gambar dengan resolusi lebih tinggi daripada yang digunakan saat pelatihan, dengan mengatur interpolate_pos_encoding menjadi True di forward model. Hal ini akan menginterpolasi position embeddings yang telah dilatih ke resolusi yang lebih tinggi.

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

< >

( pixel_valueslabels: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Noneinterpolate_pos_encoding: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → HieraForImageClassificationOutput or tuple(torch.Tensor)

Parameter

  • pixel_values (`of shape(batch_size, num_channels, image_size, image_size)) -- The tensors corresponding to the input images. Pixel values can be obtained using [BitImageProcessor](/docs/transformers/main/en/model_doc/bit#transformers.BitImageProcessor). See [BitImageProcessor.__call__()](/docs/transformers/main/en/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) for details (processor_class` uses BitImageProcessor for processing images).
  • labels (torch.LongTensor dengan bentuk (batch_size,), opsional) — Label untuk menghitung loss klasifikasi/regresi gambar. Indeks harus berada dalam [0, ..., config.num_labels - 1]. Jika config.num_labels == 1, loss regresi dihitung (Mean-Square loss). Jika config.num_labels > 1, loss klasifikasi dihitung (Cross-Entropy).
  • output_attentions (bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihat attentions di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • interpolate_pos_encoding (bool, opsional) — Apakah akan menginterpolasi encoding posisi yang telah dilatih sebelumnya.
  • return_dict (bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.

Mengembalikan

HieraForImageClassificationOutput atau tuple(torch.Tensor)

HieraForImageClassificationOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (HieraConfig) dan input.

Metode forward dari HieraForImageClassification menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor dengan bentuk (1,), opsional, dikembalikan saat labels disediakan) — Loss klasifikasi (atau regresi jika config.num_labels==1).

  • logits (torch.Tensor dengan bentuk (batch_size, config.num_labels)) — Skor klasifikasi (atau regresi jika config.num_labels==1) (sebelum SoftMax).

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap tahap) dengan bentuk (batch_size, sequence_length, hidden_size). Hidden-states (juga disebut feature maps) dari model pada output dari setiap tahap.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, patch_size, sequence_length).

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

  • reshaped_hidden_states (tuple(torch.Tensor), optional) — Tuple dari torch.Tensor (satu untuk output embeddings + satu untuk output setiap stage) dengan bentuk (batch_size, height, width, hidden_size). Ini adalah hidden states model yang telah di-reshape dan di-roll ulang.

    Hidden-states model pada output setiap lapisan ditambah output embedding awal yang di-reshape untuk mencakup dimensi spasial.

Contoh:

>>> from transformers import AutoImageProcessor, HieraForImageClassification
>>> import torch
>>> from datasets import load_dataset

>>> dataset = load_dataset("huggingface/cats-image")
>>> image = dataset["test"]["image"][0]

>>> image_processor = AutoImageProcessor.from_pretrained("facebook/hiera-base-224")
>>> model = HieraForImageClassification.from_pretrained("facebook/hiera-base-224")

>>> inputs = image_processor(image, return_tensors="pt")

>>> with torch.no_grad():
...     logits = model(**inputs).logits

>>> # model predicts one of the 1000 ImageNet classes
>>> predicted_label = logits.argmax(-1).item()
>>> print(model.config.id2label[predicted_label])
...
Update on GitHub