# RT-DETR

## Genel Bakış

RT-DETR modeli, Wenyu Lv, Yian Zhao, Shangliang Xu, Jinman Wei, Guanzhong Wang, Cheng Cui, Yuning Du, Qingqing Dang ve Yi Liu tarafından [DETRs Beat YOLOs on Real-time Object Detection](https://huggingface.co/papers/2304.08069) makalesinde önerilmiştir.

RT-DETR, "Real-Time DEtection Transformer" ifadesinin kısaltması olan bir nesne algılama modelidir. Bu model, yüksek doğruluğu korurken gerçek zamanlı performans elde etmeye odaklanarak nesne algılama görevlerini gerçekleştirmek üzere tasarlanmıştır. Derin öğrenmenin çeşitli alanlarında önemli bir popülerlik kazanmış transformer mimarisinden yararlanan RT-DETR, görüntüleri işleyerek bunların içindeki birden fazla nesneyi tanımlar ve konumlarını belirler.

Makalenin özeti aşağıdaki gibidir:

*Son zamanlarda uçtan uca transformer tabanlı algılayıcılar (DETR) olağanüstü performanslar elde etmiştir. Ancak, DETR'lerin yüksek hesaplama maliyeti sorunu etkili bir şekilde çözülememiş olup bu durum, pratik uygulamalarını kısıtlamakta ve non-maximum suppression (NMS) gibi son işleme gerektirmeme avantajlarından tam olarak yararlanmalarını engellemektedir. Bu makalede, öncelikle modern gerçek zamanlı nesne algılayıcılarda NMS'in çıkarım hızına etkisini analiz ediyor ve uçtan uca bir hız referans noktası (benchmark) oluşturuyoruz. NMS kaynaklı çıkarım gecikmesini önlemek için, bildiğimiz kadarıyla ilk gerçek zamanlı uçtan uca nesne algılayıcı olan Real-Time DEtection TRansformer'ı (RT-DETR) öneriyoruz. Özellikle, ölçek içi etkileşimi ve ölçekler arası füzyonu ayırarak çok ölçekli özellikleri verimli bir şekilde işlemek için verimli bir hibrit kodlayıcı tasarlıyor ve nesne sorgularının (query) başlatılmasını iyileştirmek için IoU-farkındalıklı sorgu seçimi öneriyoruz. Ayrıca, önerdiğimiz algılayıcı, yeniden eğitim gerektirmeden farklı kodlayıcı katmanları kullanarak çıkarım hızının esnek bir şekilde ayarlanmasını desteklemekte olup bu da gerçek zamanlı nesne algılayıcıların pratik uygulamalarını kolaylaştırmaktadır. RT-DETR-L, COCO val2017 üzerinde %53,0 AP ve T4 GPU üzerinde 114 FPS elde ederken, RT-DETR-X %54,8 AP ve 74 FPS elde etmekte olup hız ve doğruluk açısından aynı ölçekten tüm YOLO algılayıcılarını geride bırakmaktadır. Bununla birlikte, RT-DETR-R50 %53,1 AP ve 108 FPS elde etmekte olup DINO-Deformable-DETR-R50'yi doğrulukta %2,2 AP ve FPS'de yaklaşık 21 kat geride bırakmaktadır.*

<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/model_doc/rt_detr_overview.png"
alt="drawing" width="600"/>

 RT-DETR'nin YOLO modellerine göre performansı. Orijinal makaleden alınmıştır.

Model sürümü [rafaelpadilla](https://huggingface.co/rafaelpadilla) ve [sangbumchoi](https://github.com/SangbumChoi) tarafından katkı sağlanmıştır. Orijinal kod [burada](https://github.com/lyuwenyu/RT-DETR/) bulunabilir.

## Kullanım ipuçları

Başlangıçta, bir görüntü, orijinal kodda atıf yapılan bir Resnet-D varyantı olan önceden eğitilmiş bir konvolüsyonel sinir ağı kullanılarak işlenir. Bu ağ, mimarinin son üç katmanından özellikleri çıkarır. Ardından, çok ölçekli özellikleri görüntü özelliklerinin ardışık bir dizisine dönüştürmek için hibrit bir kodlayıcı kullanılır. Daha sonra, yardımcı tahmin kafalarına sahip bir çözücü, nesne sorgularını (object queries) iyileştirmek için kullanılır. Bu süreç, sınırlayıcı kutuların (bounding box) logit ve koordinatlarını elde etmek için ek bir son işlem gerektirmeden sınırlayıcı kutuların doğrudan üretilmesini sağlar. Model, ilgili ImageProcessor ile 640x640 boyutuna yeniden boyutlandırılmış görüntülerde kullanılacak şekilde tasarlanmıştır. Diğer boyutlara yeniden şekillendirme genellikle performansı düşürür.

```python
import requests
import torch
from PIL import Image

from transformers import RTDetrForObjectDetection, RTDetrImageProcessor

url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)

image_processor = RTDetrImageProcessor.from_pretrained("PekingU/rtdetr_r50vd")
model = RTDetrForObjectDetection.from_pretrained("PekingU/rtdetr_r50vd", device_map="auto")

inputs = image_processor(images=image, return_tensors="pt").to(model.device)

with torch.no_grad():
    outputs = model(**inputs)

results = image_processor.post_process_object_detection(outputs, target_sizes=torch.tensor([(image.height, image.width)]), threshold=0.3)

for result in results:
    for score, label_id, box in zip(result["scores"], result["labels"], result["boxes"]):
        score, label = score.item(), label_id.item()
        box = [round(i, 2) for i in box.tolist()]
        print(f"{model.config.id2label[label]}: {score:.2f} {box}")
sofa: 0.97 [0.14, 0.38, 640.13, 476.21]
cat: 0.96 [343.38, 24.28, 640.14, 371.5]
cat: 0.96 [13.23, 54.18, 318.98, 472.22]
remote: 0.95 [40.11, 73.44, 175.96, 118.48]
remote: 0.92 [333.73, 76.58, 369.97, 186.99]
```

## Kaynaklar

RT-DETR ile başlamanıza yardımcı olmak için resmi Hugging Face ve topluluk (🌎 ile belirtilen) kaynaklarının listesi.

- Bkz: [Nesne algılama görevi kılavuzu](../tasks/object_detection).
- Özel bir veri setinde RT-DETR için çıkarım ve ince ayar hakkında defterler [burada](https://github.com/NielsRogge/Transformers-Tutorials/tree/master/RT-DETR) bulunabilir. 🌎

## RTDetrConfig[[transformers.RTDetrConfig]]

#### transformers.RTDetrConfig[[transformers.RTDetrConfig]]

```python
transformers.RTDetrConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, is_encoder_decoder: bool = True, initializer_range: float = 0.01, initializer_bias_prior_prob: float | None = None, layer_norm_eps: float = 1e-05, batch_norm_eps: float = 1e-05, backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, freeze_backbone_batch_norms: bool = True, encoder_hidden_dim: int = 256, encoder_in_channels: list[int] | tuple[int, ...] = (512, 1024, 2048), feat_strides: list[int] | tuple[int, ...] = (8, 16, 32), encoder_layers: int = 1, encoder_ffn_dim: int = 1024, encoder_attention_heads: int = 8, dropout: float | int = 0.0, activation_dropout: float | int = 0.0, encode_proj_layers: list[int] | tuple[int, ...] = (2,), positional_encoding_temperature: int = 10000, encoder_activation_function: str = 'gelu', activation_function: str = 'silu', eval_size: int | None = None, normalize_before: bool = False, hidden_expansion: float = 1.0, d_model: int = 256, num_queries: int = 300, decoder_in_channels: list[int] | tuple[int, ...] = (256, 256, 256), decoder_ffn_dim: int = 1024, num_feature_levels: int = 3, decoder_n_points: int = 4, decoder_layers: int = 6, decoder_attention_heads: int = 8, decoder_activation_function: str = 'relu', attention_dropout: float | int = 0.0, num_denoising: int = 100, label_noise_ratio: float = 0.5, box_noise_scale: float = 1.0, learn_initial_query: bool = False, anchor_image_size: int | list[int] | None = None, disable_custom_kernels: bool = True, with_box_refine: bool = True, matcher_alpha: float = 0.25, matcher_gamma: float = 2.0, matcher_class_cost: float = 2.0, matcher_bbox_cost: float = 5.0, matcher_giou_cost: float = 2.0, use_focal_loss: bool = True, auxiliary_loss: bool = True, focal_loss_alpha: float = 0.75, focal_loss_gamma: float = 2.0, weight_loss_vfl: float = 1.0, weight_loss_bbox: float = 5.0, weight_loss_giou: float = 2.0, eos_coefficient: float = 0.0001)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/configuration_rt_detr.py#L25)

**Parametreler:**

is_encoder_decoder (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelin bir kodlayıcı/çözücü olarak kullanılıp kullanılmadığı.

initializer_range (`float`, *opsiyonel*, varsayılan `0.01`) : Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.

initializer_bias_prior_prob (`float`, *isteğe bağlı*) : `enc_score_head` ve `class_embed` için önyargıları başlatmak üzere önyargı başlatıcısı tarafından kullanılan önceden olasılık. `None` ise, model ağırlıkları başlatılırken `prior_prob`, `prior_prob = 1 / (num_labels + 1)` olarak hesaplanır.

layer_norm_eps (`float`, *opsiyonel*, varsayılan `1e-05`) : Katman normalizasyonu katmanları tarafından kullanılan epsilon.

batch_norm_eps (`float`, *isteğe bağlı*, varsayılan `1e-05`) : Toplu normalizasyon katmanları tarafından kullanılan epsilon.

backbone_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`, *isteğe bağlı*) : Omurga modelinin yapılandırması.

freeze_backbone_batch_norms (`bool`, *isteğe bağlı*, varsayılan `True`) : Omurgadaki (backbone) toplama normalizasyonu (batch normalization) katmanlarını dondurulup dondurulmayacağı.

encoder_hidden_dim (`int`, *isteğe bağlı*, varsayılan `256`) : Gizli temsillerin boyutu.

encoder_in_channels (`list`, *isteğe bağlı*, varsayılan `[512, 1024, 2048]`) : Kodlayıcı için çok seviyeli özellik girişi.

feat_strides (`list[int]`, *isteğe bağlı*, varsayılan `[8, 16, 32]`) : Her özellik haritasında kullanılan adımlar.

encoder_layers (`int`, *isteğe bağlı*, varsayılan `1`) : Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsa `num_layers` ile aynı değeri kullanır.

encoder_ffn_dim (`int`, *opsiyonel*, varsayılan `1024`) : Kodlayıcıdaki "ara" (genellikle feed-forward olarak adlandırılan) katmanının boyutluluğu.

encoder_attention_heads (`int`, *isteğe bağlı*, varsayılan `8`) : Transformer kodlayıcısındaki her dikkat katmanı için dikkat başı sayısı.

dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Tüm dropout katmanları için oran.

activation_dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Tamamen bağlı katmandaki aktivasyonlar için dropout oranı.

encode_proj_layers (`list[int]`, *isteğe bağlı*, varsayılan `[2]`) : Kodlayıcıda kullanılacak projeksiyon katmanlarının indeksleri.

positional_encoding_temperature (`int`, *isteğe bağlı*, varsayılan 10000) : Konumsal kodlamaları oluşturmak için kullanılan sıcaklık parametresi.

encoder_activation_function (`str`, *isteğe bağlı*, varsayılan `"gelu"`) : Kodlayıcıda ve pooler'da kullanılan doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Dize ise, `"gelu"`, `"relu"`, `"silu"` ve `"gelu_new"` desteklenir.

activation_function (`str`, *isteğe bağlı*, varsayılan `silu`) : Dekoderdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, `"gelu"`, `"relu"`, `"silu"` vb.

eval_size (`tuple[int, int]`, *isteğe bağlı*) : Stride dikkate alındıktan sonra konum gömme (position embeddings) için geçerli yükseklik ve genişliğin hesaplanmasında kullanılan yükseklik ve genişlik.

normalize_before (`bool`, *isteğe bağlı*, varsayılan `False`) : Transformer kodlayıcı katmanında, öz-dikkat ve ileri beslemeli modüllerden önce katman normalizasyonunun uygulanıp uygulanmayacağını belirler.

hidden_expansion (`float`, *opsiyonel*, varsayılan 1.0) : RepVGGBlock ve CSPRepLayer boyutlarını büyütmek için kullanılan genişletme oranı.

d_model (`int`, *isteğe bağlı*, varsayılan `256`) : Kodlayıcı katmanlarının ve havuzlayıcı katmanının boyutu.

num_queries (`int`, *isteğe bağlı*, varsayılan 300) : Nesne sorgusu sayısı.

decoder_in_channels (`list`, *isteğe bağlı*, varsayılan `[256, 256, 256]`) : Çözücü için çok seviyeli özellik boyutu

decoder_ffn_dim (`int`, *isteğe bağlı*, varsayılan `1024`) : Dekoderdeki "ara" (genellikle feed-forward olarak adlandırılan) katmanın boyutluluğu.

num_feature_levels (`int`, *isteğe bağlı*, varsayılan 3) : Girdi özellik seviyelerinin sayısı.

decoder_n_points (`int`, *isteğe bağlı*, varsayılan 4) : Dekoderdeki her dikkat başı için her özellik seviyesinde örneklenen anahtar sayısı.

decoder_layers (`int`, *isteğe bağlı*, varsayılan `6`) : Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsa `num_layers` ile aynı değer kullanılır.

decoder_attention_heads (`int`, *isteğe bağlı*, varsayılan `8`) : Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.

decoder_activation_function (`str`, *isteğe bağlı*, varsayılan `"relu"`) : Dekoderdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Dize ise `"gelu"`, `"relu"`, `"silu"` ve `"gelu_new"` desteklenir.

attention_dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Dikkat olasılıkları için dropout oranı.

num_denoising (`int`, *isteğe bağlı*, varsayılan 100) : Karşılaştırmalı gürültü azaltma için kullanılacak toplam gürültü azaltma görevi veya sorgu sayısı.

label_noise_ratio (`float`, *opsiyonel*, varsayılan 0.5) : Rastgele gürültü eklenmesi gereken gürültüden arındırma etiketlerinin oranı.

box_noise_scale (`float`, *isteğe bağlı*, varsayılan 1.0) : Sınır kutularına eklenecek gürültünün ölçeği veya büyüklüğü.

learn_initial_query (`bool`, *isteğe bağlı*, varsayılan `False`) : Eğitme sırasında decoder için başlangıç sorgu gömme değerlerinin öğrenilip öğrenilmeyeceğini belirtir

anchor_image_size (`tuple[int, int]`, *isteğe bağlı*) : Değerlendirme sırasında sınırlayıcı kutu çapaları oluşturmak için kullanılan girdi görüntüsünün yüksekliği ve genişliği. None ise, otomatik çapa üretimi uygulanır.

disable_custom_kernels (`bool`, *isteğe bağlı*, varsayılan `True`) : Özel çekirdeklerin devre dışı bırakılıp bırakılmayacağı.

with_box_refine (`bool`, *isteğe bağlı*, varsayılan `True`) : İteratif sınırlayıcı kutu iyileştirmesinin uygulanıp uygulanmayacağını belirtir; bu yöntemde her decoder katmanı, sınırlayıcı kutuları önceki katmandan gelen tahminlere göre iyileştirir.

matcher_alpha (`float`, *opsiyonel*, varsayılan 0.25) : Hungarian Matcher tarafından kullanılan alpha parametresi.

matcher_gamma (`float`, *opsiyonel*, varsayılan 2.0) : Macar Eşleştirici tarafından kullanılan gamma parametresi.

matcher_class_cost (`float`, *opsiyonel*, varsayılan 2.0) : Hungarian Matcher tarafından kullanılan sınıf kaybının göreli ağırlığı.

matcher_bbox_cost (`float`, *opsiyonel*, varsayılan 5.0) : Hungarian Matcher tarafından kullanılan sınırlayıcı kutu kaybının göreli ağırlığı.

matcher_giou_cost (`float`, *opsiyonel*, varsayılan 2.0) : Hungarian Matcher tarafından kullanılan giou kaybının göreli ağırlığı.

use_focal_loss (`bool`, *isteğe bağlı*, varsayılan `True`) : Focal loss kullanılacaksa bilgilendiren parametre.

auxiliary_loss (`bool`, *isteğe bağlı*, varsayılan `True`) : Yardımcı çözümleme kayıplarının (her decoder katmanındaki kayıplar) kullanılıp kullanılmayacağı.

focal_loss_alpha (`float`, *opsiyonel*, varsayılan 0.75) : Focal loss hesaplamak için kullanılan alpha parametresi.

focal_loss_gamma (`float`, *isteğe bağlı*, varsayılan 2.0) : Focal loss hesaplamak için kullanılan gamma parametresi.

weight_loss_vfl (`float`, *isteğe bağlı*, varsayılan 1.0) : Nesne algılama kaybında varifocal kaybının göreli ağırlığı.

weight_loss_bbox (`float`, *opsiyonel*, varsayılan 5.0) : Nesne algılama kaybında L1 sınırlayıcı kutu kaybının göreli ağırlığı.

weight_loss_giou (`float`, *opsiyonel*, varsayılan 2.0) : Nesne algılama kaybında genelleştirilmiş IoU kaybının göreli ağırlığı.

eos_coefficient (`float`, *opsiyonel*, varsayılan `0.0001`) : Nesne algılama kaybında 'no-object' sınıfının göreli sınıflandırma ağırlığı.

Bu, bir RTDetrModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Rt Detr modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [PekingU/rtdetr_r50vd](https://huggingface.co/PekingU/rtdetr_r50vd) yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig) sınıfından türetilir ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için [PreTrainedConfig](/docs/transformers/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

Örnekler:

```python
>>> from transformers import RTDetrConfig, RTDetrModel

>>> # Initializing a RT-DETR configuration
>>> configuration = RTDetrConfig()

>>> # Initializing a model (with random weights) from the configuration
>>> model = RTDetrModel(configuration)

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

## RTDetrResNetConfig[[transformers.RTDetrResNetConfig]]

#### transformers.RTDetrResNetConfig[[transformers.RTDetrResNetConfig]]

```python
transformers.RTDetrResNetConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, num_channels: int = 3, embedding_size: int = 64, hidden_sizes: list[int] | tuple[int, ...] = (256, 512, 1024, 2048), depths: list[int] | tuple[int, ...] = (3, 4, 6, 3), layer_type: str = 'bottleneck', hidden_act: str = 'relu', downsample_in_first_stage: bool = False, downsample_in_bottleneck: bool = False, _out_features: list[str] | None = None, _out_indices: list[int] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/configuration_rt_detr_resnet.py#L25)

**Parametreler:**

num_channels (`int`, *opsiyonel*, varsayılan `3`) : Girdi kanal sayısı.

embedding_size (`int`, *isteğe bağlı*, varsayılan `64`) : Gömme ve gizli durumların boyutluluğu.

hidden_sizes (`Union[list[int], tuple[int, ...]]`, *isteğe bağlı*, varsayılan `(256, 512, 1024, 2048)`) : Modelin her aşamasındaki boyut (gizli boyut).

depths (`list[int]`, *isteğe bağlı*, varsayılan `[3, 4, 6, 3]`) : Her aşama için derinlik (katman sayısı).

layer_type (`str`, *isteğe bağlı*, varsayılan `"bottleneck"`) : Kullanılacak katman, bu ya `"basic"` (resnet-18 veya resnet-34 gibi daha küçük modellerde kullanılır) ya da `"bottleneck"` (resnet-50 ve üzeri gibi daha büyük modellerde kullanılır) olabilir.

hidden_act (`str`, *isteğe bağlı*, varsayılan `"relu"`) : Her blokta kullanılan doğrusal olmayan aktivasyon fonksiyonu. Dize ise, `"gelu"`, `"relu"`, `"selu"` ve `"gelu_new"` desteklenir.

downsample_in_first_stage (`bool`, *isteğe bağlı*, varsayılan `False`) : `True` ise, ilk aşama girdileri 2 `stride` kullanarak küçültür.

downsample_in_bottleneck (`bool`, *isteğe bağlı*, varsayılan `False`) : `True` ise, ResNetBottleNeckLayer'daki ilk 1x1 conv, girdileri `stride` değeri 2 olacak şekilde küçültür.

Bu, bir Rt Detr ResnetModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Rt Detr Resnet modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, [microsoft/resnet-50](https://huggingface.co/microsoft/resnet-50) modelinin yapılandırmasına benzer bir yapılandırma üretir.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig) sınıfından türetilir ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için [PreTrainedConfig](/docs/transformers/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

Örnek:
```python
>>> from transformers import RTDetrResNetConfig, RTDetrResnetBackbone

>>> # Initializing a ResNet resnet-50 style configuration
>>> configuration = RTDetrResNetConfig()

>>> # Initializing a model (with random weights) from the resnet-50 style configuration
>>> model = RTDetrResnetBackbone(configuration)

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

## RTDetrImageProcessor[[transformers.RTDetrImageProcessor]]

#### transformers.RTDetrImageProcessor[[transformers.RTDetrImageProcessor]]

```python
transformers.RTDetrImageProcessor(**kwargs: *<class 'transformers.models.rt_detr.image_processing_rt_detr.RTDetrImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/image_processing_rt_detr.py#L131)

**Parametreler:**

do_convert_rgb (`bool`, *kwargs*, *isteğe bağlı*) : Görselin RGB'ye dönüştürülüp dönüştürülmeyeceği.

do_resize (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*, varsayılan `{'height' : 640, 'width': 640}`): Modelin kabul ettiği maksimum giriş boyutlarını açıklar.

default_to_square (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağını belirtir.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` uygulandıktan sonra çıktı görüntüsünün boyutu.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*, varsayılan `2`) : Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, `PILImageResampling` enum değerlerinden biri olabilir. Yalnızca `do_resize` `True` olarak ayarlanırsa etkilidir.

do_rescale (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

rescale_factor (`float`, *kwargs*, *opsiyonel*, varsayılan `0.00392156862745098`) : `do_rescale` `True` olarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.

do_normalize (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Görselin normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan değeri `[0.485, 0.456, 0.406]`) : Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan `[0.229, 0.224, 0.225]`) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

do_pad (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Görselin dolgu (padding) uygulanıp uygulanmayacağını belirtir. Dolgu, ya batch içindeki en büyük boyuta ya da görsel başına sabit bir kare boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Görsellerin doldurulacağı boyut, `{"height": int, "width" int}` biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. `pad_size` sağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca `do_pad=True.` olduğunda uygulanır.

do_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Yalnızca `ChannelDimension.FIRST` desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Girdi görüntüsünün kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir: - `"channels_first"` veya `ChannelDimension.FIRST`: (num_channels, height, width) biçiminde görüntü. - `"channels_last"` veya `ChannelDimension.LAST`: (height, width, num_channels) biçiminde görüntü. - `"none"` veya `ChannelDimension.NONE`: (height, width) biçiminde görüntü.

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : `'pt'` olarak ayarlanırsa yığılmış tensörleri, aksi halde tensör listesi döndürür.

disable_grouping (`bool`, *kwargs*, *opsiyonel*) : Görsellerin boyuta göre gruplandırılmasını devre dışı bırakarak bunların toplu olarak değil, tek tek işlenmesini sağlar. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, buradaki ayrıntılı açıklamalara dayalı ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`, *kwargs*, *isteğe bağlı*) : Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak bu, gelecekteki modellerde bir işlemci özniteliği olarak ayarlanmalıdır.

format (`str`, *kwargs*, *opsiyonel*, varsayılan `AnnotationFormat.COCO_DETECTION`) : Etiketlerin veri biçimi. "coco_detection" veya "coco_panoptic" değerlerinden biri.

do_convert_annotations (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Etiketlerin RT_DETR modelinin beklediği formata dönüştürülüp dönüştürülmeyeceğini kontrol eder. Sınırlayıcı kutuları `(center_x, center_y, width, height)` formatına ve `[0, 1]` aralığına dönüştürür. `preprocess` metodundaki `do_convert_annotations` parametresi ile geçersiz kılınabilir.

RTDetrImageProcessor görüntü işleyicisi oluşturur.

#### preprocess[[transformers.RTDetrImageProcessor.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], annotations: dict[str, int | str | list[dict]] | list[dict[str, int | str | list[dict]]] | None = None, return_segmentation_masks: bool | None = None, masks_path: str | pathlib.Path | None = None, **kwargs: *<class 'transformers.models.rt_detr.image_processing_rt_detr.RTDetrImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/image_processing_rt_detr.py#L370)

**Parametreler:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : Ön işlenecek görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa `do_rescale=False` olarak ayarlayın.

annotations (`AnnotationType` veya `list[AnnotationType]`, *isteğe bağlı*) : Görsellere uygulanan dolgu (padding) durumuna göre dönüştürülecek etiketler.

return_segmentation_masks (`bool`, *isteğe bağlı*, varsayılan `self.return_segmentation_masks`) : Segmentasyon maskelerinin döndürülüp döndürülmeyeceğini belirtir.

masks_path (`str` veya `pathlib.Path`, *isteğe bağlı*) : Segmentasyon maskelerini içeren dizinin yolu.

do_convert_rgb (`bool`, *kwargs*, *isteğe bağlı*) : Görselin RGB'ye dönüştürülüp dönüştürülmeyeceği.

do_resize (`bool`, *kwargs*, *isteğe bağlı*) : Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Modelin kabul ettiği maksimum giriş boyutlarını açıklar.

default_to_square (`bool`, *kwargs*, *opsiyonel*) : Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görsel kullanılıp kullanılmayacağı.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` uygulandıktan sonra çıktı görüntüsünün boyutu.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, `PILImageResampling` enum değerlerinden biri olabilir. Yalnızca `do_resize` `True` olarak ayarlanırsa etkilidir.

do_rescale (`bool`, *kwargs*, *opsiyonel*) : Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

rescale_factor (`float`, *kwargs*, *opsiyonel*) : `do_rescale` `True` olarak ayarlanırsa görüntüyü yeniden ölçeklemek için yeniden ölçekleme çarpanı.

do_normalize (`bool`, *kwargs*, *isteğe bağlı*) : Görüntünün normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*) : Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

do_pad (`bool`, *kwargs*, *isteğe bağlı*) : Görselin dolgu (padding) uygulanıp uygulanmayacağını belirtir. Dolgu, ya batch içindeki en büyük boyuta ya da görsel başına sabit bir kare boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Görsellerin doldurulacağı boyut, `{"height": int, "width" int}` biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. `pad_size` sağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca `do_pad=True.` olduğunda uygulanır.

do_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Yalnızca `ChannelDimension.FIRST` desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Girdi görüntüsünün kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir: - `"channels_first"` veya `ChannelDimension.FIRST`: (num_channels, height, width) biçiminde görüntü. - `"channels_last"` veya `ChannelDimension.LAST`: (height, width, num_channels) biçiminde görüntü. - `"none"` veya `ChannelDimension.NONE`: (height, width) biçiminde görüntü.

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : `'pt'` olarak ayarlanırsa yığılmış tensörleri, aksi halde tensör listesi döndürür.

disable_grouping (`bool`, *kwargs*, *opsiyonel*) : Görsellerin boyuta göre gruplandırılmasını devre dışı bırakarak bunların toplu olarak değil, tek tek işlenmesini sağlar. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, buradaki ayrıntılı açıklamalara dayalı ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`, *kwargs*, *isteğe bağlı*) : Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak bu, gelecekteki modellerde bir işlemci özniteliği olarak ayarlanmalıdır.

format (`str`, *kwargs*, *opsiyonel*, varsayılan `AnnotationFormat.COCO_DETECTION`) : Etiketlerin veri biçimi. "coco_detection" veya "coco_panoptic" değerlerinden biri.

do_convert_annotations (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Etiketlerin RT_DETR modelinin beklediği formata dönüştürülüp dönüştürülmeyeceğini kontrol eder. Sınırlayıcı kutuları `(center_x, center_y, width, height)` formatına ve `[0, 1]` aralığına dönüştürür. `preprocess` metodundaki `do_convert_annotations` parametresi ile geçersiz kılınabilir.

**Dönüş:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- __call__ yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü ('pixel_values' vb.).
- **tensor_type** (`Union[None, str, TensorType]`, *isteğe bağlı*) -- Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.

#### post_process_object_detection[[transformers.RTDetrImageProcessor.post_process_object_detection]]

```python
post_process_object_detection(outputs, threshold: float = 0.5, target_sizes: transformers.utils.generic.TensorType | list[tuple] = None, use_focal_loss: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/image_processing_rt_detr.py#L511)

**Parametreler:**

outputs (`DetrObjectDetectionOutput`) : Modelin ham çıktıları.

threshold (`float`, *opsiyonel*, varsayılan 0.5) : Nesne algılama tahminlerini tutmak için skor eşiği.

target_sizes (`torch.Tensor` veya `list[tuple[int, int]]`, *isteğe bağlı*) : Şekli `(batch_size, 2)` olan bir Tensor veya batch'teki her bir görüntünün hedef boyutunu `(height, width)` içeren tuple'ların (`tuple[int, int]`) listesi. Ayarlanmazsa, tahminler yeniden boyutlandırılmaz.

use_focal_loss (`bool` varsayılan olarak `True`) : Çıktıların öngörülmesinde odak kaybının (focal loss) kullanılıp kullanılmadığını bildiren değişken. `True` ise her bir algılamanın skorlarını hesaplamak için sigmoid uygulanır, aksi halde softmax fonksiyonu kullanılır.

**Dönüş:** `list[Dict]`

Bir sözlükler listesi; her sözlük, modelin tahminine göre bir batch içindeki bir görüntü için puanları, etiketleri ve kutuları içerir.

[DetrForObjectDetection](/docs/transformers/v5.23.0/tr/model_doc/detr#transformers.DetrForObjectDetection)'ün ham çıktısını (top_left_x, top_left_y, bottom_right_x, bottom_right_y) biçiminde nihai sınırlayıcı kutulara dönüştürür. Yalnızca PyTorch desteklenir.

## RTDetrImageProcessorPil[[transformers.RTDetrImageProcessorPil]]

#### transformers.RTDetrImageProcessorPil[[transformers.RTDetrImageProcessorPil]]

```python
transformers.RTDetrImageProcessorPil(**kwargs: *<class 'transformers.models.rt_detr.image_processing_pil_rt_detr.RTDetrImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/image_processing_pil_rt_detr.py#L130)

**Parametreler:**

do_convert_rgb (`bool`, *kwargs*, *isteğe bağlı*) : Görselin RGB'ye dönüştürülüp dönüştürülmeyeceği.

do_resize (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*, varsayılan `{'height' : 640, 'width': 640}`): Modelin kabul ettiği maksimum giriş boyutlarını açıklar.

default_to_square (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağını belirtir.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` uygulandıktan sonra çıktı görüntüsünün boyutu.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*, varsayılan `2`) : Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, `PILImageResampling` enum değerlerinden biri olabilir. Yalnızca `do_resize` `True` olarak ayarlanırsa etkilidir.

do_rescale (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

rescale_factor (`float`, *kwargs*, *opsiyonel*, varsayılan `0.00392156862745098`) : `do_rescale` `True` olarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.

do_normalize (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Görselin normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan değeri `[0.485, 0.456, 0.406]`) : Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan `[0.229, 0.224, 0.225]`) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

do_pad (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Görselin dolgu (padding) uygulanıp uygulanmayacağını belirtir. Dolgu, ya batch içindeki en büyük boyuta ya da görsel başına sabit bir kare boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Görsellerin doldurulacağı boyut, `{"height": int, "width" int}` biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. `pad_size` sağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca `do_pad=True.` olduğunda uygulanır.

do_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Yalnızca `ChannelDimension.FIRST` desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Girdi görüntüsünün kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir: - `"channels_first"` veya `ChannelDimension.FIRST`: (num_channels, height, width) biçiminde görüntü. - `"channels_last"` veya `ChannelDimension.LAST`: (height, width, num_channels) biçiminde görüntü. - `"none"` veya `ChannelDimension.NONE`: (height, width) biçiminde görüntü.

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : `'pt'` olarak ayarlanırsa yığılmış tensörleri, aksi halde tensör listesi döndürür.

disable_grouping (`bool`, *kwargs*, *opsiyonel*) : Görsellerin boyuta göre gruplandırılmasını devre dışı bırakarak bunların toplu olarak değil, tek tek işlenmesini sağlar. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, buradaki ayrıntılı açıklamalara dayalı ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`, *kwargs*, *isteğe bağlı*) : Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak bu, gelecekteki modellerde bir işlemci özniteliği olarak ayarlanmalıdır.

format (`str`, *kwargs*, *opsiyonel*, varsayılan `AnnotationFormat.COCO_DETECTION`) : Etiketlerin veri biçimi. "coco_detection" veya "coco_panoptic" değerlerinden biri.

do_convert_annotations (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Etiketlerin RT_DETR modelinin beklediği formata dönüştürülüp dönüştürülmeyeceğini kontrol eder. Sınırlayıcı kutuları `(center_x, center_y, width, height)` formatına ve `[0, 1]` aralığına dönüştürür. `preprocess` metodundaki `do_convert_annotations` parametresi ile geçersiz kılınabilir.

RTDetrImageProcessor görüntü işleyicisi oluşturur.

#### preprocess[[transformers.RTDetrImageProcessorPil.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], annotations: dict[str, int | str | list[dict]] | list[dict[str, int | str | list[dict]]] | None = None, return_segmentation_masks: bool | None = None, masks_path: str | pathlib.Path | None = None, **kwargs: *<class 'transformers.models.rt_detr.image_processing_pil_rt_detr.RTDetrImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/image_processing_pil_rt_detr.py#L379)

**Parametreler:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : Ön işlenecek görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa `do_rescale=False` olarak ayarlayın.

annotations (`AnnotationType` veya `list[AnnotationType]`, *isteğe bağlı*) : Görsellere uygulanan dolgu (padding) durumuna göre dönüştürülecek etiketler.

return_segmentation_masks (`bool`, *isteğe bağlı*, varsayılan `self.return_segmentation_masks`) : Segmentasyon maskelerinin döndürülüp döndürülmeyeceğini belirtir.

masks_path (`str` veya `pathlib.Path`, *isteğe bağlı*) : Segmentasyon maskelerini içeren dizinin yolu.

do_convert_rgb (`bool`, *kwargs*, *isteğe bağlı*) : Görselin RGB'ye dönüştürülüp dönüştürülmeyeceği.

do_resize (`bool`, *kwargs*, *isteğe bağlı*) : Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Modelin kabul ettiği maksimum giriş boyutlarını açıklar.

default_to_square (`bool`, *kwargs*, *opsiyonel*) : Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görsel kullanılıp kullanılmayacağı.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` uygulandıktan sonra çıktı görüntüsünün boyutu.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, `PILImageResampling` enum değerlerinden biri olabilir. Yalnızca `do_resize` `True` olarak ayarlanırsa etkilidir.

do_rescale (`bool`, *kwargs*, *opsiyonel*) : Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

rescale_factor (`float`, *kwargs*, *opsiyonel*) : `do_rescale` `True` olarak ayarlanırsa görüntüyü yeniden ölçeklemek için yeniden ölçekleme çarpanı.

do_normalize (`bool`, *kwargs*, *isteğe bağlı*) : Görüntünün normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*) : Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

do_pad (`bool`, *kwargs*, *isteğe bağlı*) : Görselin dolgu (padding) uygulanıp uygulanmayacağını belirtir. Dolgu, ya batch içindeki en büyük boyuta ya da görsel başına sabit bir kare boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Görsellerin doldurulacağı boyut, `{"height": int, "width" int}` biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. `pad_size` sağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca `do_pad=True.` olduğunda uygulanır.

do_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Yalnızca `ChannelDimension.FIRST` desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Girdi görüntüsünün kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir: - `"channels_first"` veya `ChannelDimension.FIRST`: (num_channels, height, width) biçiminde görüntü. - `"channels_last"` veya `ChannelDimension.LAST`: (height, width, num_channels) biçiminde görüntü. - `"none"` veya `ChannelDimension.NONE`: (height, width) biçiminde görüntü.

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : `'pt'` olarak ayarlanırsa yığılmış tensörleri, aksi halde tensör listesi döndürür.

disable_grouping (`bool`, *kwargs*, *opsiyonel*) : Görsellerin boyuta göre gruplandırılmasını devre dışı bırakarak bunların toplu olarak değil, tek tek işlenmesini sağlar. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, buradaki ayrıntılı açıklamalara dayalı ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`, *kwargs*, *isteğe bağlı*) : Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak bu, gelecekteki modellerde bir işlemci özniteliği olarak ayarlanmalıdır.

format (`str`, *kwargs*, *opsiyonel*, varsayılan `AnnotationFormat.COCO_DETECTION`) : Etiketlerin veri biçimi. "coco_detection" veya "coco_panoptic" değerlerinden biri.

do_convert_annotations (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Etiketlerin RT_DETR modelinin beklediği formata dönüştürülüp dönüştürülmeyeceğini kontrol eder. Sınırlayıcı kutuları `(center_x, center_y, width, height)` formatına ve `[0, 1]` aralığına dönüştürür. `preprocess` metodundaki `do_convert_annotations` parametresi ile geçersiz kılınabilir.

**Dönüş:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- __call__ yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü ('pixel_values' vb.).
- **tensor_type** (`Union[None, str, TensorType]`, *isteğe bağlı*) -- Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.

#### post_process_object_detection[[transformers.RTDetrImageProcessorPil.post_process_object_detection]]

```python
post_process_object_detection(outputs, threshold: float = 0.5, target_sizes: transformers.utils.generic.TensorType | list[tuple] = None, use_focal_loss: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/image_processing_pil_rt_detr.py#L507)

**Parametreler:**

outputs (`DetrObjectDetectionOutput`) : Modelin ham çıktıları.

threshold (`float`, *opsiyonel*, varsayılan 0.5) : Nesne algılama tahminlerini tutmak için skor eşiği.

target_sizes (`torch.Tensor` veya `list[tuple[int, int]]`, *isteğe bağlı*) : Şekli `(batch_size, 2)` olan bir Tensor veya batch'teki her bir görüntünün hedef boyutunu `(height, width)` içeren tuple'ların (`tuple[int, int]`) listesi. Ayarlanmazsa, tahminler yeniden boyutlandırılmaz.

use_focal_loss (`bool` varsayılan olarak `True`) : Çıktıların öngörülmesinde odak kaybının (focal loss) kullanılıp kullanılmadığını bildiren değişken. `True` ise her bir algılamanın skorlarını hesaplamak için sigmoid uygulanır, aksi halde softmax fonksiyonu kullanılır.

**Dönüş:** `list[Dict]`

Bir sözlükler listesi; her sözlük, modelin tahminine göre bir batch içindeki bir görüntü için puanları, etiketleri ve kutuları içerir.

[DetrForObjectDetection](/docs/transformers/v5.23.0/tr/model_doc/detr#transformers.DetrForObjectDetection)'ün ham çıktısını (top_left_x, top_left_y, bottom_right_x, bottom_right_y) biçiminde nihai sınırlayıcı kutulara dönüştürür. Yalnızca PyTorch desteklenir.

## RTDetrModel[[transformers.RTDetrModel]]

#### transformers.RTDetrModel[[transformers.RTDetrModel]]

```python
transformers.RTDetrModel(config: RTDetrConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/modeling_rt_detr.py#L1424)

**Parametreler:**

config ([RTDetrConfig](/docs/transformers/v5.23.0/tr/model_doc/rt_detr#transformers.RTDetrConfig)) : 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()](/docs/transformers/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

RT-DETR Model (bir omurga ve kodlayıcı-çözücüden oluşan) üzerinde herhangi bir başlık olmadan ham gizli durumlar üreten.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/tr/main_classes/model#transformers.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 ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#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[[transformers.RTDetrModel.forward]]

```python
forward(pixel_values: Tensor, pixel_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: typing.Optional[torch.Tensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, labels: list[dict] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/modeling_rt_detr.py#L1544)

**Parametreler:**

pixel_values (`torch.Tensor`, şekli `(batch_size, num_channels, image_size, image_size)`) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri `image_processor_class` kullanılarak elde edilebilir. Ayrıntılar için `image_processor_class.__call__` bölümüne bakın (`processor_class`, görüntüleri işlemek için `image_processor_class` kullanır).

pixel_mask (`torch.LongTensor`, şekli `(batch_size, height, width)`, *isteğe bağlı*) : Dolgu piksel değerleri üzerinde dikkat işleminin uygulanmasını önlemek için maske. `[0, 1]` aralığında seçilen maske değerleri:  - Gerçek (yani **maskelenmemiş**) pikseller için 1, - Dolgu (yani **maskelenmiş**) pikseller için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

encoder_outputs (`torch.Tensor`, *isteğe bağlı*) : (`last_hidden_state`, *isteğe bağlı*: `hidden_states`, *isteğe bağlı*: `attentions`) `last_hidden_state` boyutu `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) kodlayıcının son katmanının çıktısındaki gizli durumlar dizisidir. Çözücüdeki çapraz dikkat (cross-attention) işleminde kullanılır.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : Düzleştirilmiş özellik haritasını (backbone + projeksiyon katmanının çıktısı) iletmek yerine, bir görüntünün düzleştirilmiş temsilini doğrudan iletme seçeneğine sahipsiniz.

labels (`list[Dict]`, len `(batch_size,)`, *isteğe bağlı*) : İkili eşleştirme kaybını hesaplamak için etiketler. Sözlüklerden oluşan liste, her sözlük en azından şu 2 anahtarı içerir: 'class_labels' ve 'boxes' (sırasıyla bir batch içindeki bir görüntünün sınıf etiketleri ve sınırlayıcı kutuları). Sınıf etiketlerinin kendisi, len `(number of bounding boxes in the image,)` olan bir `torch.LongTensor` ve kutuların şekli `(number of bounding boxes in the image, 4)` olan bir `torch.Tensor` olmalıdır.

**Dönüş:** `RTDetrModelOutput` veya `tuple(torch.Tensor)`

Bir `RTDetrModelOutput` veya bir `torch.Tensor` demeti (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırmaya (`None`) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[RTDetrModel](/docs/transformers/v5.23.0/tr/model_doc/rt_detr#transformers.RTDetrModel) 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ü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, num_queries, hidden_size)`) -- Modelin decoder'ının son katmanının çıktısındaki gizli durumlar dizisi.
- **intermediate_hidden_states** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, num_queries, hidden_size)`) -- Yığılmış ara gizli durumlar (decoder'ın her katmanının çıktısı).
- **intermediate_logits** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, sequence_length, config.num_labels)`) -- Yığılmış ara logits (decoder'ın her katmanının logits'i).
- **intermediate_reference_points** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, num_queries, 4)`) -- Yığılmış ara referans noktaları (decoder'ın her katmanının referans noktaları).
- **intermediate_predicted_corners** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, num_queries, 4)`) -- Yığılmış ara tahmini köşeler (decoder'ın her katmanının tahmini köşeleri).
- **initial_reference_points** (`torch.Tensor`, şekli `(batch_size, num_queries, 4)`) -- İlk decoder katmanı için kullanılan başlangıç referans noktaları.
- **decoder_hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

  Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
- **decoder_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan çözücü (decoder) dikkat ağırlıkları.
- **cross_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `(batch_size, num_heads, sequence_length, sequence_length)` biçiminde, her katman için bir adet içeren `torch.Tensor` demeti.

  Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- **encoder_last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) -- Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.
- **encoder_hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

  Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- **encoder_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
- **init_reference_points** (`torch.Tensor`, şekli `(batch_size, num_queries, 4)`) -- Transformer decoder üzerinden gönderilen başlangıç referans noktaları.
- **enc_topk_logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.num_labels)`) -- Kodlayıcı aşamasında bölge önerileri olarak seçilen, en yüksek `config.two_stage_num_proposals` puanlı sınırlayıcı kutuların tahmini sınırlayıcı kutu puanları. Sınırlayıcı kutu ikili sınıflandırmasının (yani ön plan ve arka plan) çıktısı.
- **enc_topk_bboxes** (`torch.Tensor`, şekli `(batch_size, sequence_length, 4)`) -- Kodlayıcı aşamasında tahmin edilen sınırlayıcı kutu koordinatlarının logitleri.
- **enc_outputs_class** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.num_labels)`, *opsiyonel*, `config.with_box_refine=True` ve `config.two_stage=True` olduğunda döndürülür) -- İlk aşamada en yüksek `config.two_stage_num_proposals` puanlı sınırlayıcı kutuların bölge önerileri olarak seçildiği, tahmini sınırlayıcı kutu puanları. Sınırlayıcı kutu ikili sınıflandırmasının (yani ön plan ve arka plan) çıktısı.
- **enc_outputs_coord_logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, 4)`, *opsiyonel*, `config.with_box_refine=True` ve `config.two_stage=True` olduğunda döndürülür) -- Birinci aşamada tahmin edilen sınırlayıcı kutu koordinatlarının logitleri.
- **denoising_meta_values** (`dict`, *isteğe bağlı*) -- Gürültü azaltma ile ilgili değerler için ek sözlük.

Örnekler:

```python
>>> from transformers import AutoImageProcessor, RTDetrModel
>>> 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("PekingU/rtdetr_r50vd")
>>> model = RTDetrModel.from_pretrained("PekingU/rtdetr_r50vd")

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

>>> outputs = model(**inputs)

>>> last_hidden_states = outputs.last_hidden_state
>>> list(last_hidden_states.shape)
[1, 300, 256]
```

## RTDetrForObjectDetection[[transformers.RTDetrForObjectDetection]]

#### transformers.RTDetrForObjectDetection[[transformers.RTDetrForObjectDetection]]

```python
transformers.RTDetrForObjectDetection(config: RTDetrConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/modeling_rt_detr.py#L1750)

**Parametreler:**

config ([RTDetrConfig](/docs/transformers/v5.23.0/tr/model_doc/rt_detr#transformers.RTDetrConfig)) : 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()](/docs/transformers/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

RT-DETR Model (bir omurga ve kodlayıcı-çözücüden oluşan) sınırlayıcı kutuları ve daha sonra puanlara ve sınıflara çözümlenecek logitleri üreten.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/tr/main_classes/model#transformers.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 ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#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[[transformers.RTDetrForObjectDetection.forward]]

```python
forward(pixel_values: Tensor, pixel_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: typing.Optional[torch.Tensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, labels: list[dict] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/modeling_rt_detr.py#L1771)

**Parametreler:**

pixel_values (`torch.Tensor`, şekli `(batch_size, num_channels, image_size, image_size)`) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri `image_processor_class` kullanılarak elde edilebilir. Ayrıntılar için `image_processor_class.__call__` bölümüne bakın (`processor_class`, görüntüleri işlemek için `image_processor_class` kullanır).

pixel_mask (`torch.LongTensor`, şekli `(batch_size, height, width)`, *isteğe bağlı*) : Dolgu piksel değerleri üzerinde dikkat işleminin uygulanmasını önlemek için maske. `[0, 1]` aralığında seçilen maske değerleri:  - Gerçek (yani **maskelenmemiş**) pikseller için 1, - Dolgu (yani **maskelenmiş**) pikseller için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

encoder_outputs (`torch.Tensor`, *isteğe bağlı*) : (`last_hidden_state`, *isteğe bağlı*: `hidden_states`, *isteğe bağlı*: `attentions`) `last_hidden_state` boyutu `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) kodlayıcının son katmanının çıktısındaki gizli durumlar dizisidir. Çözücüdeki çapraz dikkat (cross-attention) işleminde kullanılır.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : Düzleştirilmiş özellik haritasını (backbone + projeksiyon katmanının çıktısı) iletmek yerine, bir görüntünün düzleştirilmiş temsilini doğrudan iletme seçeneğine sahipsiniz.

labels (`list[Dict]`, len `(batch_size,)`, *isteğe bağlı*) : İkili eşleştirme kaybını hesaplamak için etiketler. Sözlüklerden oluşan liste, her sözlük en azından şu 2 anahtarı içerir: 'class_labels' ve 'boxes' (sırasıyla bir batch içindeki bir görüntünün sınıf etiketleri ve sınırlayıcı kutuları). Sınıf etiketlerinin kendisi, len `(number of bounding boxes in the image,)` olan bir `torch.LongTensor` ve kutuların şekli `(number of bounding boxes in the image, 4)` olan bir `torch.Tensor` olmalıdır.

**Dönüş:** `RTDetrObjectDetectionOutput` veya `tuple(torch.Tensor)`

`RTDetrObjectDetectionOutput` veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırmaya (`None`) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[RTDetrForObjectDetection](/docs/transformers/v5.23.0/tr/model_doc/rt_detr#transformers.RTDetrForObjectDetection) 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ü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **loss** (`torch.Tensor`, şekli `(1,)`, *isteğe bağlı*, `labels` sağlandığında döndürülür)) -- Sınıf tahmini için negatif log-olabilirlik (çapraz entropi) ile sınırlayıcı kutu kaybının doğrusal bir kombinasyonu olarak toplam kayıp. İkincisi, L1 kaybı ve genelleştirilmiş ölçekten bağımsız IoU kaybının doğrusal bir kombinasyonu olarak tanımlanır.
- **loss_dict** (`Dict`, *isteğe bağlı*) -- Bireysel kayıpları içeren bir sözlük. Kayıt tutma için faydalıdır.
- **logits** (`torch.Tensor`, şekli `(batch_size, num_queries, num_classes + 1)`) -- Tüm sorgular için sınıflandırma logitleri (no-object dahil).
- **pred_boxes** (`torch.Tensor`, şekli `(batch_size, num_queries, 4)`) -- Tüm sorgular için normalize edilmiş kutu koordinatları, (center_x, center_y, width, height) olarak temsil edilir. Bu değerler, [0, 1] aralığında normalize edilmiştir ve batch'teki her bir görüntünün boyutuna göre (olası padding'i göz ardı ederek) göreli olarak tanımlanır. Normalize edilmemiş (mutlak) sınırlayıcı kutuları almak için [post_process_object_detection()](/docs/transformers/v5.23.0/tr/model_doc/rt_detr#transformers.RTDetrImageProcessor.post_process_object_detection) işlevini kullanabilirsiniz.
- **auxiliary_outputs** (`list[Dict]`, *isteğe bağlı*) -- İsteğe bağlı, yalnızca yardımcı kayıplar etkinleştirildiğinde (yani `config.auxiliary_loss` `True` olarak ayarlandığında) ve etiketler sağlandığında döndürülür. Her kodlayıcı katmanı için yukarıdaki iki anahtarı (`logits` ve `pred_boxes`) içeren sözlüklerden oluşan bir listedir.
- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, num_queries, hidden_size)`) -- Modelin decoder'ının son katmanının çıktısındaki gizli durumlar dizisi.
- **intermediate_hidden_states** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, num_queries, hidden_size)`) -- Yığılmış ara gizli durumlar (decoder'ın her katmanının çıktısı).
- **intermediate_logits** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, num_queries, config.num_labels)`) -- Yığılmış ara logits (decoder'ın her katmanının logits'i).
- **intermediate_reference_points** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, num_queries, 4)`) -- Yığılmış ara referans noktaları (decoder'ın her katmanının referans noktaları).
- **intermediate_predicted_corners** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, num_queries, 4)`) -- Yığılmış ara tahmini köşeler (decoder'ın her katmanının tahmini köşeleri).
- **initial_reference_points** (`torch.Tensor`, şekli `(batch_size, config.decoder_layers, num_queries, 4)`) -- Yığılmış başlangıç referans noktaları (decoder'ın her katmanının başlangıç referans noktaları).
- **decoder_hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

  Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
- **decoder_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan çözücü (decoder) dikkat ağırlıkları.
- **cross_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `(batch_size, num_heads, sequence_length, sequence_length)` biçiminde, her katman için bir adet içeren `torch.Tensor` demeti.

  Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- **encoder_last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) -- Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.
- **encoder_hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

  Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- **encoder_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
- **init_reference_points** (`torch.Tensor`, şekli  `(batch_size, num_queries, 4)`) -- Transformer decoder üzerinden gönderilen başlangıç referans noktaları.
- **enc_topk_logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.num_labels)`, *isteğe bağlı*, `config.with_box_refine=True` ve `config.two_stage=True` olduğunda döndürülür) -- Kodlayıcıda tahmin edilen sınırlayıcı kutu koordinatlarının logitleri.
- **enc_topk_bboxes** (`torch.Tensor`, şekli `(batch_size, sequence_length, 4)`, *isteğe bağlı*, `config.with_box_refine=True` ve `config.two_stage=True` olduğunda döndürülür) -- Kodlayıcıda tahmin edilen sınırlayıcı kutu koordinatlarının logitleri.
- **enc_outputs_class** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.num_labels)`, *opsiyonel*, `config.with_box_refine=True` ve `config.two_stage=True` olduğunda döndürülür) -- İlk aşamada en yüksek `config.two_stage_num_proposals` puanlı sınırlayıcı kutuların bölge önerileri olarak seçildiği, tahmini sınırlayıcı kutu puanları. Sınırlayıcı kutu ikili sınıflandırmasının (yani ön plan ve arka plan) çıktısı.
- **enc_outputs_coord_logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, 4)`, *opsiyonel*, `config.with_box_refine=True` ve `config.two_stage=True` olduğunda döndürülür) -- Birinci aşamada tahmin edilen sınırlayıcı kutu koordinatlarının logitleri.
- **denoising_meta_values** (`dict`, *isteğe bağlı*) -- Gürültü azaltma ile ilgili değerler için ek sözlük

Örnekler:

```python
>>> from transformers import RTDetrImageProcessor, RTDetrForObjectDetection
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> import torch

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

>>> image_processor = RTDetrImageProcessor.from_pretrained("PekingU/rtdetr_r50vd")
>>> model = RTDetrForObjectDetection.from_pretrained("PekingU/rtdetr_r50vd")

>>> # prepare image for the model
>>> inputs = image_processor(images=image, return_tensors="pt")

>>> # forward pass
>>> outputs = model(**inputs)

>>> logits = outputs.logits
>>> list(logits.shape)
[1, 300, 80]

>>> boxes = outputs.pred_boxes
>>> list(boxes.shape)
[1, 300, 4]

>>> # convert outputs (bounding boxes and class logits) to Pascal VOC format (xmin, ymin, xmax, ymax)
>>> target_sizes = torch.tensor([image.size[::-1]])
>>> results = image_processor.post_process_object_detection(outputs, threshold=0.9, target_sizes=target_sizes)[
...     0
... ]

>>> for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
...     box = [round(i, 2) for i in box.tolist()]
...     print(
...         f"Detected {model.config.id2label[label.item()]} with confidence "
...         f"{round(score.item(), 3)} at location {box}"
...     )
Detected sofa with confidence 0.97 at location [0.14, 0.38, 640.13, 476.21]
Detected cat with confidence 0.96 at location [343.38, 24.28, 640.14, 371.5]
Detected cat with confidence 0.958 at location [13.23, 54.18, 318.98, 472.22]
Detected remote with confidence 0.951 at location [40.11, 73.44, 175.96, 118.48]
Detected remote with confidence 0.924 at location [333.73, 76.58, 369.97, 186.99]
```

## RTDetrResNetBackbone[[transformers.RTDetrResNetBackbone]]

#### transformers.RTDetrResNetBackbone[[transformers.RTDetrResNetBackbone]]

```python
transformers.RTDetrResNetBackbone(config: RTDetrResNetConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/modeling_rt_detr_resnet.py#L349)

**Parametreler:**

config ([RTDetrResNetConfig](/docs/transformers/v5.23.0/tr/model_doc/rt_detr#transformers.RTDetrResNetConfig)) : 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()](/docs/transformers/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

RTDETR gibi çerçevelerle kullanılacak ResNet omurgası.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/tr/main_classes/model#transformers.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 ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#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[[transformers.RTDetrResNetBackbone.forward]]

```python
forward(pixel_values: Tensor, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/rt_detr/modeling_rt_detr_resnet.py#L362)

**Parametreler:**

pixel_values (`torch.Tensor`, şekli `(batch_size, num_channels, image_size, image_size)`) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri `image_processor_class` kullanılarak elde edilebilir. Ayrıntılar için `image_processor_class.__call__` bölümüne bakın (`processor_class`, görüntüleri işlemek için `image_processor_class` kullanır).

output_hidden_states (`bool`, *isteğe bağlı*) : Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki `hidden_states` bölümüne bakın.

return_dict (`bool`, *isteğe bağlı*) : Düz bir tuple yerine [ModelOutput](/docs/transformers/v5.23.0/tr/main_classes/output#transformers.utils.ModelOutput) döndürülecek mi?

**Dönüş:** `BackboneOutput` veya `tuple(torch.Tensor)`

A `BackboneOutput` veya bir `torch.Tensor` tuple'ı (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırmaya ([RTDetrResNetConfig](/docs/transformers/v5.23.0/tr/model_doc/rt_detr#transformers.RTDetrResNetConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[RTDetrResNetBackbone](/docs/transformers/v5.23.0/tr/model_doc/rt_detr#transformers.RTDetrResNetBackbone) 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ü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **feature_maps** (`tuple(torch.Tensor)`, şekli `(batch_size, num_channels, height, width)`) -- Aşamaların özellik haritaları.
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme çıktısı için bir tane + her katman çıktısı için bir tane) içeren bir tuple, boyutu `(batch_size, sequence_length, hidden_size)` veya `(batch_size, num_channels, height, width)`, iskelete (backbone) göre değişir.

  Modelin her aşamanın çıktısındaki gizli durumları ve başlangıç gömme çıktıları.
- **attentions** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`. Yalnızca omurga dikkat (attention) kullanıyorsa geçerlidir.

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

  Örnekler:

  ```python
  >>> from transformers import RTDetrResNetConfig, RTDetrResNetBackbone
  >>> import torch
  precation import deprecate_kwarg
  precation import deprecate_kwarg
  precation import deprecate_kwarg
  utils.deprecation import deprecate_kwarg
  utils.deprecation import deprecate_kwarg

  >>> config = RTDetrResNetConfig()
  >>> model = RTDetrResNetBackbone(config)

  >>> pixel_values = torch.randn(1, 3, 224, 224)

  >>> with torch.no_grad():
  ...     outputs = model(pixel_values)

  >>> feature_maps = outputs.feature_maps
  >>> list(feature_maps[-1].shape)
  [1, 2048, 7, 7]
  ```

