Transformers documentation
SAM3-LiteText
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:
| Varian | Text Encoder | Param teks | Reduksi |
|---|---|---|---|
| SAM3-LiteText-S0-16 | MobileCLIP-S0 | 42.54M | ~88% |
| SAM3-LiteText-S1-16 | MobileCLIP-S1 | 63.53M | ~82% |
| SAM3-LiteText-L-16 | MobileCLIP2-L | 123.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
< 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 = 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 (
dictatauSam3LiteTextGeometryEncoderConfig, opsional) — Konfigurasi untuk geometry encoder. - detr_encoder_config (
dictatauSam3LiteTextDETREncoderConfig, opsional) — Konfigurasi untuk encoder DETR. - detr_decoder_config (
dictatauSam3LiteTextDETRDecoderConfig, opsional) — Konfigurasi untuk decoder DETR. - mask_decoder_config (
dictatauSam3LiteTextMaskDecoderConfig, opsional) — Konfigurasi untuk mask decoder. - 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 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.configSam3LiteTextTextConfig
kelas transformers.Sam3LiteTextTextConfig
< 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 = 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, default49408) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan olehinput_ids. - hidden_size (
int, opsional, default512) — Dimensi dari representasi tersembunyi. - intermediate_size (
int, opsional, default2048) — Dimensi representasi MLP. - projection_dim (
int, opsional, defaultnya512) — Dimensi dari lapisan proyeksi teks dan visi. - num_hidden_layers (
int, opsional, default12) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer. - max_position_embeddings (
int, opsional, default77) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. - hidden_act (
str, opsional, defaultnyagelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - layer_norm_eps (
float, opsional, defaultnya1e-05) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - attention_dropout (
float, opsional, default0.0) — Rasio dropout untuk probabilitas perhatian. - use_repmixer_blocks (
bool, opsional, defaultTrue) — Apakah akan menggunakan blok RepMixer (gaya MobileCLIP) untuk lapisan encoder pertama dan terakhir. JikaFalse, semua lapisan adalah lapisan encoder Transformer standar. - layer_scale_init_value (
float, opsional, default1e-5) — Nilai awal untuk parameter layer-scale yang dapat dipelajari di blok RepMixer (cabang residual). - repmixer_kernel_size (
int, opsional, default11) — 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
< 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 = 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, default256) — Dimensi dari representasi tersembunyi. - num_layers (
int, opsional, default3) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer. - intermediate_size (
int, opsional, default2048) — Dimensi representasi MLP. - dropout (
Union[float, int], opsional, default0.1) — Rasio untuk semua lapisan dropout. - hidden_act (
str, opsional, defaultnyarelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - hidden_dropout (
Union[float, int], opsional, default0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler. - layer_norm_eps (
float, opsional, defaultnya1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - roi_size (
int, opsional, default 7) — Ukuran ROI untuk operasi box pooling. - 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 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
< 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 = 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, default256) — Dimensi dari representasi tersembunyi. - num_layers (
int, opsional, default6) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer. - intermediate_size (
int, opsional, default2048) — Dimensi representasi MLP. - dropout (
Union[float, int], opsional, default0.1) — Rasio untuk semua lapisan dropout. - hidden_act (
str, opsional, defaultnyarelu) — 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, defaultnya1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - 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 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
< 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 = 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, default256) — Dimensi dari representasi tersembunyi. - num_layers (
int, opsional, default6) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_queries (
int, opsional, default 200) — Jumlah object query. - num_attention_heads (
int, opsional, default8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer. - intermediate_size (
int, opsional, default2048) — Dimensi representasi MLP. - dropout (
Union[float, int], opsional, default0.1) — Rasio untuk semua lapisan dropout. - hidden_act (
str, opsional, defaultnyarelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - hidden_dropout (
Union[float, int], opsional, default0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler. - layer_norm_eps (
float, opsional, defaultnya1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - 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 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
< 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 = 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, default256) — Dimensi dari representasi tersembunyi. - num_upsampling_stages (
int, opsional, default 3) — Jumlah tahap upsampling dalam pixel decoder (FPN). - layer_norm_eps (
float, opsional, defaultnya1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - dropout (
Union[float, int], opsional, default0.0) — Rasio untuk semua lapisan dropout. - num_attention_heads (
int, opsional, default8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer. - 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 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
< source >( 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
< source >( 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.LongTensordengan 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.
- attention_mask (
torch.Tensordengan 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.
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
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.Tensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan lengkap dari hidden states yang berasal dari text encoder. - pooler_output (
torch.Tensordengan bentuk(batch_size, projection_dim)) — Output yang telah di-pool menggunakan EOT dan diproyeksikan keprojection_dimmelalui proyeksi internal bergaya CLIP. - hidden_states (
tuple(torch.Tensor), opsional) — Tuple dari hidden states pada setiap layer, dikembalikan ketikaoutput_hidden_states=True. - attentions (
tuple(torch.Tensor), opsional) — Tuple dari bobot perhatian pada setiap lapisan transformer, dikembalikan ketikaoutput_attentions=True.
Sam3LiteTextModel
forward
< source >( 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.Tensordengan 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_valuestidak boleh diteruskan. Saling eksklusif denganpixel_values. - input_ids (
torch.LongTensordengan 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.
- attention_mask (
torch.Tensordengan 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.
- text_embeds (
torch.Tensordengan 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_idstidak boleh diteruskan. Saling eksklusif denganinput_ids. - input_boxes (
torch.Tensordengan bentuk(batch_size, num_boxes, 4), opsional) — Koordinat kotak ternormalisasi dalam rentang [0, 1], dalam format (cx, cy, w, h). - input_boxes_labels (
torch.LongTensordengan 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
Modulesetelahnya 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.Tensordengan bentuk(batch_size, num_queries, height, width)) — Mask segmentasi yang diprediksi untuk setiap query. - pred_boxes (
torch.Tensordengan bentuk(batch_size, num_queries, 4)) — Kotak batas yang diprediksi dalam format (x1, y1, x2, y2). - pred_logits (
torch.Tensordengan 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.Tensordengan 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.Tensordengan 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.Tensordengan 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_boxesSam3LiteTextPreTrainedModel
kelas transformers.Sam3LiteTextPreTrainedModel
< source >( 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.
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.