Transformers documentation
SAM3-LiteText
Bu model 2026-02-12 tarihinde HF papers'ta yayımlandı ve 2026-04-13 tarihinde Hugging Face Transformers'a katkıda bulunuldu.
SAM3-LiteText
Genel Bakış
SAM3-LiteText, Chengxi Zeng, Yuxuan Jiang, Ge Gao, Shuai Wang, Duolikun Danier, Bin Zhu, Stevan Rudinac, David Bull ve Fan Zhang tarafından SAM3-LiteText: An Anatomical Study of the SAM3 Text Encoder for Efficient Vision-Language Segmentation makalesinde önerilmiştir.
SAM3-LiteText, SAM3'ün hafif bir varyantıdır ve ağır SAM3 metin kodlayıcısını (353M parametre) bilgi damıtma yoluyla optimize edilmiş, kompakt bir MobileCLIP tabanlı metin kodlayıcısıyla değiştirir. SAM3 ViT-H görüntü kodlayıcısı olduğu gibi korunur. Bu sayede metin kodlayıcı parametreleri %88'e kadar azaltılırken, orijinal modele benzer bir segmentasyon performansı korunur.
Makalenin özeti aşağıdaki gibidir:
Vision-language segmentation models such as SAM3 enable flexible, prompt-driven visual grounding, but inherit large, general-purpose text encoders originally designed for open-ended language understanding. In practice, segmentation prompts are short, structured, and semantically constrained, leading to substantial over-provisioning in text encoder capacity and persistent computational and memory overhead. In this paper, we perform a large-scale anatomical analysis of text prompting in vision-language segmentation, covering 404,796 real prompts across multiple benchmarks. Our analysis reveals severe redundancy: most context windows are underutilized, vocabulary usage is highly sparse, and text embeddings lie on low-dimensional manifold despite high-dimensional representations. Motivated by these findings, we propose SAM3-LiteText, a lightweight text encoding framework that replaces the original SAM3 text encoder with a compact MobileCLIP student that is optimized by knowledge distillation. Extensive experiments on image and video segmentation benchmarks show that SAM3-LiteText reduces text encoder parameters by up to 88%, substantially reducing static memory footprint, while maintaining segmentation performance comparable to the original model.
Metin kodlayıcı mimarisi MobileCLIP üzerine kuruludur ve üç varyantı bulunmaktadır:
| Varyant | Metin Kodlayıcı | Metin Parametreleri | Azaltma |
|---|---|---|---|
| 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% |
Bu model nielsr ve yonigozlan tarafından katkıda bulunmuştur. Orijinal kod burada bulunabilir.
Kullanım
SAM3-LiteText, SAM3'ün hafif bir metin kodlayıcıyla değiştirilebilir bir alternatifi olarak sunulmaktadır. Aynı işlemciyi (Sam3Processor) kullanır ve aynı istem arayüzünü destekler. Metin istemleri, kutu istemleri, toplu çıkarım ve daha fazlası dahil olmak üzere ayrıntılı kullanım örnekleri için SAM3 belgelendirmesine başvurun.
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
sınıf 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 )
Parametreler
- vision_config (
Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Görüntü omurgasının yapılandırma nesnesi veya sözlüğü. - text_config (
Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Metin omurgasının yapılandırma nesnesi veya sözlüğü. - geometry_encoder_config (
dictveyaSam3LiteTextGeometryEncoderConfig, isteğe bağlı) — Geometri kodlayıcısının yapılandırması. - detr_encoder_config (
dictveyaSam3LiteTextDETREncoderConfig, isteğe bağlı) — DETR kodlayıcısı için yapılandırma. - detr_decoder_config (
dictveyaSam3LiteTextDETRDecoderConfig, isteğe bağlı) — DETR çözücü yapılandırması. - mask_decoder_config (
dictveyaSam3LiteTextMaskDecoderConfig, isteğe bağlı) — Mask decoder için yapılandırma. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
Bu, bir Sam3LiteTextModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Sam3 Lite Text modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, yonigozlan/sam3-litetext-s0 modelinin yapılandırmasına benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Örnek:
>>> 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
sınıf 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 )
Parametreler
- vocab_size (
int, isteğe bağlı, varsayılan49408) — Modelin sözlük boyutu.input_idstarafından temsil edilebilecek farklı token sayısını tanımlar. - hidden_size (
int, isteğe bağlı, varsayılan512) — Gizli temsillerin boyutu. - intermediate_size (
int, isteğe bağlı, varsayılan2048) — MLP temsillerinin boyutu. - projection_dim (
int, isteğe bağlı, varsayılan512) — Metin ve görme projeksiyon katmanlarının boyutluluğu. - num_hidden_layers (
int, isteğe bağlı, varsayılan12) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - max_position_embeddings (
int, isteğe bağlı, varsayılan77) — Bu modelin kullanılabileceği en uzun dizi uzunluğu. - hidden_act (
str, isteğe bağlı, varsayılangelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - attention_dropout (
float, isteğe bağlı, varsayılan0.0) — Dikkat olasılıkları için dropout oranı. - use_repmixer_blocks (
bool, isteğe bağlı, varsayılanTrue) — İlk ve son encoder katmanları için RepMixer bloklarının (MobileCLIP tarzı) kullanılıp kullanılmayacağını belirtir.Falseolduğunda, tüm katmanlar standart Transformer encoder katmanlarıdır. - layer_scale_init_value (
float, isteğe bağlı, varsayılan1e-5) — RepMixer bloklarındaki (artık dallar) öğrenilebilir katman ölçekleme parametreleri için başlangıç değeri. - repmixer_kernel_size (
int, isteğe bağlı, varsayılan11) — RepMixer bloklarındaki derinlik içi konvolüsyonlar için çekirdek boyutu (token karıştırıcı ve konvolüsyonlu ileri besleme yolu).
Bu, bir Sam3LiteTextModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Sam3 Lite Text modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, yonigozlan/sam3-litetext-s0 modelinin yapılandırmasına benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Sam3LiteTextGeometryEncoderConfig
sınıf 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 )
Parametreler
- hidden_size (
int, isteğe bağlı, varsayılan256) — Gizli temsillerin boyutu. - num_layers (
int, isteğe bağlı, varsayılan3) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - intermediate_size (
int, isteğe bağlı, varsayılan2048) — MLP temsillerinin boyutu. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Tüm dropout katmanları için oran. - hidden_act (
str, isteğe bağlı, varsayılanrelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - hidden_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - roi_size (
int, isteğe bağlı, varsayılan 7) — Kutu havuzlama işlemleri için ROI boyutu. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
Bu, bir Sam3LiteTextModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Sam3 Lite Text modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, yonigozlan/sam3-litetext-s0 modelinin yapılandırmasına benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Sam3LiteTextDETREncoderConfig
sınıf 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 )
Parametreler
- hidden_size (
int, isteğe bağlı, varsayılan256) — Gizli temsillerin boyutu. - num_layers (
int, isteğe bağlı, varsayılan6) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - intermediate_size (
int, isteğe bağlı, varsayılan2048) — MLP temsillerinin boyutu. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Tüm dropout katmanları için oran. - hidden_act (
str, isteğe bağlı, varsayılanrelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - hidden_dropout (
float, isteğe bağlı, varsayılan 0.0) — Gizli durumlar için dropout olasılığı. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
Bu, bir Sam3LiteTextModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Sam3 Lite Text modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, yonigozlan/sam3-litetext-s0 modelinin yapılandırmasına benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Sam3LiteTextDETRDecoderConfig
sınıf 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 )
Parametreler
- hidden_size (
int, isteğe bağlı, varsayılan256) — Gizli temsillerin boyutu. - num_layers (
int, isteğe bağlı, varsayılan6) — Transformer çözücüdeki gizli katman sayısı. - num_queries (
int, isteğe bağlı, varsayılan 200) — Nesne sorgularının sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - intermediate_size (
int, isteğe bağlı, varsayılan2048) — MLP temsillerinin boyutu. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Tüm dropout katmanları için oran. - hidden_act (
str, isteğe bağlı, varsayılanrelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - hidden_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
Bu, bir Sam3LiteTextModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Sam3 Lite Text modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, yonigozlan/sam3-litetext-s0 modelinin yapılandırmasına benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Sam3LiteTextMaskDecoderConfig
sınıf 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 )
Parametreler
- hidden_size (
int, isteğe bağlı, varsayılan256) — Gizli temsillerin boyutu. - num_upsampling_stages (
int, isteğe bağlı, varsayılan 3) — Piksel çözücüdeki (FPN) yükseltme aşamalarının sayısı. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Tüm dropout katmanları için oran. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
Bu, bir Sam3LiteTextModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Sam3 Lite Text modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, yonigozlan/sam3-litetext-s0 modelinin yapılandırmasına benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Sam3LiteTextTextModel
sınıf transformers.Sam3LiteTextTextModel
< source >( config: Sam3LiteTextTextConfig )
Parametreler
- config (Sam3LiteTextTextConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
EfficientSAM3 LiteText'te kullanılan MobileCLIP MCT metin kodlayıcısı.
config.use_repmixer_blocks True olduğunda, ilk ve son katmanlar Sam3LiteTextRepMixerBlock modülleridir; geri kalanı standart Sam3LiteTextTextEncoderLayer katmanlarıdır.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
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.FloatTensor)
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
Dönüş değeri
Sam3LiteTextTextEncoderOutput veya tuple(torch.FloatTensor)
Sam3LiteTextTextEncoderOutput veya bir torch.FloatTensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Sam3LiteTextConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
Sam3LiteTextTextModel forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
- last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size)) — Metin kodlayıcısından gelen gizli durumların tam dizisi. - pooler_output (
torch.FloatTensor, şekli(batch_size, projection_dim)) — İç CLIP tarzı projeksiyon aracılığıylaprojection_dimboyutuna projekte edilmiş EOT havuzlanmış çıktı. - hidden_states (
tuple(torch.FloatTensor), isteğe bağlı) —output_hidden_states=Trueolduğunda döndürülen, her katmandaki gizli durumların tuple'ı. - attentions (
tuple(torch.FloatTensor), isteğe bağlı) —output_attentions=Trueolarak döndürüldüğünde, her transformer katmanındaki dikkat ağırlıklarının tuple'ı.
Sam3LiteTextModel
forward
< source >( pixel_values: typing.Optional[torch.FloatTensor] = 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.FloatTensor] = Noneinput_boxes: typing.Optional[torch.FloatTensor] = Noneinput_boxes_labels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextImageSegmentationOutput or tuple(torch.FloatTensor)
Parametreler
- pixel_values (
torch.FloatTensor, şekli(batch_size, num_channels, image_size, image_size), isteğe bağlı) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri Sam3ImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Sam3ImageProcessor.call() bölümüne bakınız (Sam3Processor, görüntü işleme için Sam3ImageProcessor kullanır). - vision_embeds (
Sam3LiteTextVisionEncoderOutput, opsiyonel) — Önceden hesaplanmış görsel gömme değerleri. Görsel gömme değerlerini kolayca yeniden kullanmak için kullanılabilir. Sağlanırsa,pixel_valuesgeçirilmemelidir.pixel_valuesile birbirini dışlar. - input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- text_embeds (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Önceden hesaplanmış metin gömme değerleri. Metin gömme değerlerinin kolayca yeniden kullanılabilmesi için kullanılabilir. Verildiğinde,input_idsparametresi geçirilmemelidir.input_idsile birbirini dışlar. - input_boxes (
torch.FloatTensor, şekli(batch_size, num_boxes, 4), opsiyonel) — [0, 1] aralığında, (cx, cy, w, h) biçiminde normalize edilmiş kutu koordinatları. - input_boxes_labels (
torch.LongTensor, şekli(batch_size, num_boxes), isteğe bağlı) — Kutular için etiketler: 1 (pozitif), 0 (negatif).
Dönüş değeri
Sam3LiteTextImageSegmentationOutput veya tuple(torch.FloatTensor)
Sam3LiteTextImageSegmentationOutput veya bir torch.FloatTensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (Sam3LiteTextConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
Sam3LiteTextModel forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
- pred_masks (
torch.FloatTensor, şekli(batch_size, num_queries, height, width)) — Her sorgu için tahmin edilen segmentasyon maskeleri. - pred_boxes (
torch.FloatTensor, şekli(batch_size, num_queries, 4)) — (x1, y1, x2, y2) biçiminde tahmin edilen sınırlayıcı kutular. - pred_logits (
torch.FloatTensor, şekli(batch_size, num_queries), isteğe bağlı) — Her sorgu için, decoder sorgu özellikleri ile metin özellikleri arasındaki nokta çarpımı üzerinden hesaplanan sınıflandırma güven skoru. - presence_logits (
torch.FloatTensor, şekli(batch_size, 1), isteğe bağlı) — DETR decoder'ının presence token'ından gelen presence logits (yalnızca son katman). Bunlar, sahnede nesnelerin var olup olmadığını gösterir. pred_logits ile çarpılarak nihai skorların hesaplanmasında kullanılabilir:final_scores = pred_logits.sigmoid() * presence_logits.sigmoid(). - semantic_seg (
torch.FloatTensor, şekli(batch_size, 1, height, width), isteğe bağlı) — Anlamsal segmentasyon çıktısı. - decoder_hidden_states (
tuple[torch.FloatTensor], isteğe bağlı) — Tüm DETR decoder katmanlarından gelen gizli durumların tuple'ı. Her tensörün şekli(batch_size, num_queries, hidden_size)'dir. - decoder_reference_boxes (
torch.FloatTensor, şekli(num_layers, batch_size, num_queries, 4), opsiyonel) — Tüm DETR decoder katmanlarından gelen referans kutuları. - encoder_hidden_states (
tuple[torch.FloatTensor], isteğe bağlı) — DETR kodlayıcı katmanlarının tümünden gelen gizli durumların bir demeti. - vision_hidden_states (
tuple[torch.FloatTensor], isteğe bağlı) — Tüm görme kodlayıcı (ViT) katmanlarından gelen gizli durumların (hidden states) bir demeti (tuple). - vision_attentions (
tuple[torch.FloatTensor], isteğe bağlı) — Görüntü kodlayıcı (ViT) katmanlarından gelen dikkat ağırlıkları. - detr_encoder_attentions (
tuple[torch.FloatTensor], isteğe bağlı) — DETR encoder katmanlarından gelen dikkat ağırlıkları. - detr_decoder_attentions (
tuple[torch.FloatTensor], isteğe bağlı) — DETR decoder katmanlarından gelen dikkat ağırlıkları (öz-dikkat ve çapraz-dikkat). - mask_decoder_attentions (
tuple[torch.FloatTensor], isteğe bağlı) — Mask decoder katmanlarından gelen dikkat ağırlıkları.
Örnek:
>>> 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
sınıf transformers.Sam3LiteTextPreTrainedModel
< source >( config: PreTrainedConfig*inputs**kwargs )
Parametreler
- config (PreTrainedConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
Noktalı bir yol için sahte bir değer (ör. torch.float32): öznitelik erişim zincirleri, çağrılar geçiş (pass-through) dekoratörleri gibi davranır, repr noktalı yoldur ve bir taban sınıf olarak kullanıldığında düz bir type tabanı yerine geçer (PEP 560 __mro_entries__), böylece gerçek alt sınıflar normal bir meta sınıfı korur ve inspect.signature sahtenin yerine gerçek __init__ değerlerini okur.