Transformers documentation

SAM3-LiteText

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 2026-02-12 dan disumbangkan ke Hugging Face Transformers pada 2026-04-13.

SAM3-LiteText

Ikhtisar

SAM3-LiteText diusulkan dalam SAM3-LiteText: An Anatomical Study of the SAM3 Text Encoder for Efficient Vision-Language Segmentation oleh Chengxi Zeng, Yuxuan Jiang, Ge Gao, Shuai Wang, Duolikun Danier, Bin Zhu, Stevan Rudinac, David Bull, dan Fan Zhang.

SAM3-LiteText adalah varian ringan dari SAM3 yang mengganti text encoder SAM3 yang berat (353M parameter) dengan text encoder berbasis MobileCLIP yang ringkas dan dioptimalkan melalui knowledge distillation. Image encoder ViT-H dari SAM3 tetap dipertahankan. Hal ini mengurangi parameter text encoder hingga 88% sambil mempertahankan kinerja segmentasi yang sebanding dengan model aslinya.

Abstrak dari makalah tersebut adalah sebagai berikut:

Model segmentasi vision-language seperti SAM3 memungkinkan grounding visual yang fleksibel dan dipandu prompt, tetapi mewarisi encoder teks besar dan serbaguna yang awalnya dirancang untuk pemahaman bahasa terbuka. Dalam praktiknya, prompt segmentasi bersifat pendek, terstruktur, dan secara semantik terbatas, sehingga menyebabkan over-provisioning yang signifikan pada kapasitas encoder teks serta overhead komputasi dan memori yang terus-menerus. Dalam makalah ini, kami melakukan analisis anatomis berskala besar terhadap text prompting dalam segmentasi vision-language, mencakup 404.796 prompt nyata di berbagai benchmark. Analisis kami mengungkapkan redundansi yang parah: sebagian besar context window tidak dimanfaatkan secara optimal, penggunaan kosakata sangat jarang, dan embedding teks berada pada manifold berdimensi rendah meskipun representasinya berdimensi tinggi. Didorong oleh temuan ini, kami mengusulkan SAM3-LiteText, sebuah framework encoding teks ringan yang mengganti encoder teks asli SAM3 dengan student MobileCLIP yang kompak dan dioptimalkan melalui knowledge distillation. Eksperimen ekstensif pada benchmark segmentasi gambar dan video menunjukkan bahwa SAM3-LiteText mengurangi parameter encoder teks hingga 88%, secara substansial mengurangi jejak memori statis, sambil mempertahankan kinerja segmentasi yang sebanding dengan model aslinya.

Arsitektur text encoder didasarkan pada MobileCLIP dan hadir dalam tiga varian:

VarianText EncoderParam teksReduksi
SAM3-LiteText-S0-16MobileCLIP-S042.54M~88%
SAM3-LiteText-S1-16MobileCLIP-S163.53M~82%
SAM3-LiteText-L-16MobileCLIP2-L123.80M~65%

Model ini disumbangkan oleh nielsr dan yonigozlan. Kode aslinya dapat ditemukan di sini.

Penggunaan

SAM3-LiteText adalah pengganti langsung untuk SAM3 dengan encoder teks yang ringan. Model ini menggunakan processor yang sama (Sam3Processor) dan mendukung antarmuka prompting yang sama. Silakan merujuk ke dokumentasi SAM3 untuk contoh penggunaan terperinci, termasuk teks prompt, box prompt, inferensi batched, dan lainnya.

from io import BytesIO

from huggingface_hub.utils import httpx
from PIL import Image

from transformers import AutoModel, AutoProcessor


model = AutoModel.from_pretrained("yonigozlan/sam3-litetext-s0", device_map="auto")
processor = AutoProcessor.from_pretrained("yonigozlan/sam3-litetext-s0")

image_url = "http://images.cocodataset.org/val2017/000000077595.jpg"
image = Image.open(BytesIO(httpx.get(image_url).content)).convert("RGB")

inputs = processor(images=image, text="ear", return_tensors="pt").to(model.device)

outputs = model(**inputs)

results = processor.post_process_instance_segmentation(
    outputs,
    threshold=0.5,
    mask_threshold=0.5,
    target_sizes=inputs.get("original_sizes").tolist(),
)[0]

print(f"Found {len(results['masks'])} objects")

Sam3LiteTextConfig

kelas transformers.Sam3LiteTextConfig

< >

( 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 = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonegeometry_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedetr_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedetr_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonemask_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneinitializer_range: float = 0.02 )

Parameter

  • vision_config (Union[dict, ~configuration_utils.PreTrainedConfig], opsional) — Objek config atau dictionary dari vision backbone.
  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], opsional) — Objek config atau dictionary dari text backbone.
  • geometry_encoder_config (dict atau Sam3LiteTextGeometryEncoderConfig, opsional) — Konfigurasi untuk geometry encoder.
  • detr_encoder_config (dict atau Sam3LiteTextDETREncoderConfig, opsional) — Konfigurasi untuk encoder DETR.
  • detr_decoder_config (dict atau Sam3LiteTextDETRDecoderConfig, opsional) — Konfigurasi untuk decoder DETR.
  • mask_decoder_config (dict atau Sam3LiteTextMaskDecoderConfig, opsional) — Konfigurasi untuk mask decoder.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari Sam3LiteTextModel. Kelas ini digunakan untuk menginstansiasi model Sam3 Lite Text sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari yonigozlan/sam3-litetext-s0

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

Contoh:

>>> from transformers import Sam3LiteTextConfig, Sam3LiteTextModel

>>> # Initializing a SAM3_LITE_TEXT configuration
>>> configuration = Sam3LiteTextConfig()

>>> # Initializing a model from the configuration
>>> model = Sam3LiteTextModel(configuration)

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

Sam3LiteTextTextConfig

kelas transformers.Sam3LiteTextTextConfig

< >

( 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 = Nonevocab_size: int = 49408hidden_size: int = 512intermediate_size: int = 2048projection_dim: int = 512num_hidden_layers: int = 12num_attention_heads: int = 8max_position_embeddings: int = 77hidden_act: str = 'gelu'layer_norm_eps: float = 1e-05attention_dropout: float = 0.0use_repmixer_blocks: bool = Truelayer_scale_init_value: float = 1e-05repmixer_kernel_size: int = 11 )

Parameter

  • vocab_size (int, opsional, default 49408) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh input_ids.
  • hidden_size (int, opsional, default 512) — Dimensi dari representasi tersembunyi.
  • intermediate_size (int, opsional, default 2048) — Dimensi representasi MLP.
  • projection_dim (int, opsional, defaultnya 512) — Dimensi dari lapisan proyeksi teks dan visi.
  • num_hidden_layers (int, opsional, default 12) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer.
  • max_position_embeddings (int, opsional, default 77) — Panjang maksimum urutan yang mungkin digunakan dengan model ini.
  • hidden_act (str, opsional, defaultnya gelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • layer_norm_eps (float, opsional, defaultnya 1e-05) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • attention_dropout (float, opsional, default 0.0) — Rasio dropout untuk probabilitas perhatian.
  • use_repmixer_blocks (bool, opsional, default True) — Apakah akan menggunakan blok RepMixer (gaya MobileCLIP) untuk lapisan encoder pertama dan terakhir. Jika False, semua lapisan adalah lapisan encoder Transformer standar.
  • layer_scale_init_value (float, opsional, default 1e-5) — Nilai awal untuk parameter layer-scale yang dapat dipelajari di blok RepMixer (cabang residual).
  • repmixer_kernel_size (int, opsional, default 11) — Ukuran kernel untuk konvolusi depthwise di blok RepMixer (jalur token mixer dan feed-forward konvolusional).

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari Sam3LiteTextModel. Kelas ini digunakan untuk menginstansiasi model Sam3 Lite Text sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari yonigozlan/sam3-litetext-s0

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

Sam3LiteTextGeometryEncoderConfig

kelas transformers.Sam3LiteTextGeometryEncoderConfig

< >

( 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 = 256num_layers: int = 3num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06roi_size: int = 7initializer_range: float = 0.02 )

Parameter

  • hidden_size (int, opsional, default 256) — Dimensi dari representasi tersembunyi.
  • num_layers (int, opsional, default 3) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer.
  • intermediate_size (int, opsional, default 2048) — Dimensi representasi MLP.
  • dropout (Union[float, int], opsional, default 0.1) — Rasio untuk semua lapisan dropout.
  • hidden_act (str, opsional, defaultnya relu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • hidden_dropout (Union[float, int], opsional, default 0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler.
  • layer_norm_eps (float, opsional, defaultnya 1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • roi_size (int, opsional, default 7) — Ukuran ROI untuk operasi box pooling.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari Sam3LiteTextModel. Kelas ini digunakan untuk menginstansiasi model Sam3 Lite Text sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari yonigozlan/sam3-litetext-s0

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

Sam3LiteTextDETREncoderConfig

kelas transformers.Sam3LiteTextDETREncoderConfig

< >

( 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 = 256num_layers: int = 6num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06initializer_range: float = 0.02 )

Parameter

  • hidden_size (int, opsional, default 256) — Dimensi dari representasi tersembunyi.
  • num_layers (int, opsional, default 6) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer.
  • intermediate_size (int, opsional, default 2048) — Dimensi representasi MLP.
  • dropout (Union[float, int], opsional, default 0.1) — Rasio untuk semua lapisan dropout.
  • hidden_act (str, opsional, defaultnya relu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • hidden_dropout (float, opsional, default 0.0) — Probabilitas dropout untuk hidden states.
  • layer_norm_eps (float, opsional, defaultnya 1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari Sam3LiteTextModel. Kelas ini digunakan untuk menginstansiasi model Sam3 Lite Text sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari yonigozlan/sam3-litetext-s0

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

Sam3LiteTextDETRDecoderConfig

kelas transformers.Sam3LiteTextDETRDecoderConfig

< >

( 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 = 256num_layers: int = 6num_queries: int = 200num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06initializer_range: float = 0.02 )

Parameter

  • hidden_size (int, opsional, default 256) — Dimensi dari representasi tersembunyi.
  • num_layers (int, opsional, default 6) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_queries (int, opsional, default 200) — Jumlah object query.
  • num_attention_heads (int, opsional, default 8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer.
  • intermediate_size (int, opsional, default 2048) — Dimensi representasi MLP.
  • dropout (Union[float, int], opsional, default 0.1) — Rasio untuk semua lapisan dropout.
  • hidden_act (str, opsional, defaultnya relu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • hidden_dropout (Union[float, int], opsional, default 0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler.
  • layer_norm_eps (float, opsional, defaultnya 1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari Sam3LiteTextModel. Kelas ini digunakan untuk menginstansiasi model Sam3 Lite Text sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari yonigozlan/sam3-litetext-s0

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

Sam3LiteTextMaskDecoderConfig

kelas transformers.Sam3LiteTextMaskDecoderConfig

< >

( 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 = 256num_upsampling_stages: int = 3layer_norm_eps: float = 1e-06dropout: float | int = 0.0num_attention_heads: int = 8initializer_range: float = 0.02 )

Parameter

  • hidden_size (int, opsional, default 256) — Dimensi dari representasi tersembunyi.
  • num_upsampling_stages (int, opsional, default 3) — Jumlah tahap upsampling dalam pixel decoder (FPN).
  • layer_norm_eps (float, opsional, defaultnya 1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • dropout (Union[float, int], opsional, default 0.0) — Rasio untuk semua lapisan dropout.
  • num_attention_heads (int, opsional, default 8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari Sam3LiteTextModel. Kelas ini digunakan untuk menginstansiasi model Sam3 Lite Text sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Menginstansiasi konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari yonigozlan/sam3-litetext-s0

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

Sam3LiteTextTextModel

kelas transformers.Sam3LiteTextTextModel

< >

( config: Sam3LiteTextTextConfig )

Parameter

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

MobileCLIP MCT text encoder yang digunakan dalam EfficientSAM3 LiteText.

Ketika config.use_repmixer_blocks bernilai True, lapisan pertama dan terakhir adalah modul Sam3LiteTextRepMixerBlock; sisanya adalah lapisan standar Sam3LiteTextTextEncoderLayer.

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

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextTextEncoderOutput or tuple(torch.Tensor)

Parameter

  • input_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks token dari urutan input dalam kosakata. Padding akan diabaikan secara default.

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

Mengembalikan

Sam3LiteTextTextEncoderOutput atau tuple(torch.Tensor)

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

Metode forward dari Sam3LiteTextTextModel 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 lengkap dari hidden states yang berasal dari text encoder.
  • pooler_output (torch.Tensor dengan bentuk (batch_size, projection_dim)) — Output yang telah di-pool menggunakan EOT dan diproyeksikan ke projection_dim melalui proyeksi internal bergaya CLIP.
  • hidden_states (tuple(torch.Tensor), opsional) — Tuple dari hidden states pada setiap layer, dikembalikan ketika output_hidden_states=True.
  • attentions (tuple(torch.Tensor), opsional) — Tuple dari bobot perhatian pada setiap lapisan transformer, dikembalikan ketika output_attentions=True.

Sam3LiteTextModel

kelas transformers.Sam3LiteTextModel

< >

( config: Sam3LiteTextConfig )

forward

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonevision_embeds: transformers.models.sam3_lite_text.modeling_sam3_lite_text.Sam3LiteTextVisionEncoderOutput | None = Noneinput_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetext_embeds: typing.Optional[torch.Tensor] = Noneinput_boxes: typing.Optional[torch.Tensor] = Noneinput_boxes_labels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextImageSegmentationOutput 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 Sam3ImageProcessor. Lihat Sam3ImageProcessor.call() untuk detailnya (Sam3Processor menggunakan Sam3ImageProcessor untuk memproses gambar).
  • vision_embeds (Sam3LiteTextVisionEncoderOutput, opsional) — Embedding visual yang sudah dihitung sebelumnya. Dapat digunakan untuk dengan mudah memanfaatkan kembali embedding visual. Jika diberikan, pixel_values tidak boleh diteruskan. Saling eksklusif dengan pixel_values.
  • input_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks token dari urutan input dalam kosakata. Padding akan diabaikan secara default.

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • text_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Embedding teks yang sudah dihitung sebelumnya. Dapat digunakan untuk dengan mudah menggunakan kembali embedding teks. Jika diberikan, input_ids tidak boleh diteruskan. Saling eksklusif dengan input_ids.
  • input_boxes (torch.Tensor dengan bentuk (batch_size, num_boxes, 4), opsional) — Koordinat kotak ternormalisasi dalam rentang [0, 1], dalam format (cx, cy, w, h).
  • input_boxes_labels (torch.LongTensor dengan bentuk (batch_size, num_boxes), opsional) — Label untuk kotak: 1 (positif), 0 (negatif).

Mengembalikan

Sam3LiteTextImageSegmentationOutput atau tuple(torch.Tensor)

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

Metode forward dari Sam3LiteTextModel 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.

  • pred_masks (torch.Tensor dengan bentuk (batch_size, num_queries, height, width)) — Mask segmentasi yang diprediksi untuk setiap query.
  • pred_boxes (torch.Tensor dengan bentuk (batch_size, num_queries, 4)) — Kotak batas yang diprediksi dalam format (x1, y1, x2, y2).
  • pred_logits (torch.Tensor dengan bentuk (batch_size, num_queries), opsional) — Skor kepercayaan klasifikasi untuk setiap query, dihitung melalui perkalian titik antara fitur query decoder dan fitur teks.
  • presence_logits (torch.Tensor dengan bentuk (batch_size, 1), opsional) — Presence logits dari presence token decoder DETR (hanya lapisan terakhir). Nilai ini menunjukkan apakah objek hadir dalam adegan. Dapat digunakan untuk menghitung skor akhir dengan mengalikan dengan pred_logits: final_scores = pred_logits.sigmoid() * presence_logits.sigmoid().
  • semantic_seg (torch.Tensor dengan bentuk (batch_size, 1, height, width), opsional) — Output segmentasi semantik.
  • decoder_hidden_states (tuple[torch.Tensor], opsional) — Tuple dari hidden states dari semua lapisan decoder DETR. Setiap tensor memiliki bentuk (batch_size, num_queries, hidden_size).
  • decoder_reference_boxes (torch.Tensor dengan bentuk (num_layers, batch_size, num_queries, 4), opsional) — Kotak referensi dari semua lapisan decoder DETR.
  • encoder_hidden_states (tuple[torch.Tensor], opsional) — Tuple dari hidden states dari semua lapisan encoder DETR.
  • vision_hidden_states (tuple[torch.Tensor], opsional) — Tuple dari hidden states dari semua lapisan vision encoder (ViT).
  • vision_attentions (tuple[torch.Tensor], opsional) — Bobot perhatian dari lapisan vision encoder (ViT).
  • detr_encoder_attentions (tuple[torch.Tensor], opsional) — Bobot perhatian dari lapisan encoder DETR.
  • detr_decoder_attentions (tuple[torch.Tensor], opsional) — Bobot perhatian dari lapisan decoder DETR (self-attention dan cross-attention).
  • mask_decoder_attentions (tuple[torch.Tensor], opsional) — Bobot perhatian dari lapisan mask decoder.

Contoh:

>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoModel, AutoProcessor

>>> model = AutoModel.from_pretrained("facebook/sam3_lite_text")
>>> processor = AutoProcessor.from_pretrained("facebook/sam3_lite_text")

>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/model_doc/sam-car.png"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read())).convert("RGB")
>>> text = "car"
>>> inputs = processor(images=image, text=text, return_tensors="pt")

>>> # Get segmentation output
>>> outputs = model(**inputs)
>>> pred_masks = outputs.pred_masks
>>> pred_boxes = outputs.pred_boxes

Sam3LiteTextPreTrainedModel

kelas transformers.Sam3LiteTextPreTrainedModel

< >

( config: PreTrainedConfig*inputs**kwargs )

Parameter

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

( *args**kwargs )

Nilai mock untuk jalur bertitik (mis. torch.float32): rantai akses atribut, pemanggilan berperilaku sebagai dekorator pass-through, repr adalah jalur bertitik, dan penggunaannya sebagai kelas dasar menggantikan kelas dasar type polos (PEP 560 __mro_entries__), sehingga subkelas asli tetap mempertahankan metakelas normal dan inspect.signature membaca __init__ asli mereka, bukan milik mock.

Update on GitHub