data
DETRConfig
extends
ModelConfigDETRConfig(num_classes: int = 80, in_channels: int = 3, backbone_layers: tuple[int, int, int, int] = (3, 4, 6, 3), d_model: int = 256, n_head: int = 8, num_encoder_layers: int = 6, num_decoder_layers: int = 6, dim_feedforward: int = 2048, dropout: float = 0.1, num_queries: int = 100, num_bbox_layers: int = 3, bbox_hidden_dim: int = 256, score_thresh: float = 0.7)Configuration for DETR (DEtection TRansformer).
DETR (Carion et al., ECCV 2020) reformulates object detection as a direct set prediction problem. A CNN backbone extracts image features, a Transformer encoder-decoder processes them with N learned object queries, and FFN heads predict class labels + normalised (cx, cy, w, h) boxes. Training uses the Hungarian algorithm to match predictions to ground-truth objects (no hand-crafted anchors, no NMS at inference).
Parameters
num_classesint= 80Number of foreground classes (background = class 0).
in_channelsint= 3Input image channels.
backbone_layerstuple[int, int, int, int]= (3, 4, 6, 3)ResNet-50 layer counts (default 3,4,6,3).
d_modelint= 256Transformer embedding dimension.
n_headint= 8Number of self-/cross-attention heads.
num_encoder_layersint= 6Encoder depth.
num_decoder_layersint= 6Decoder depth.
dim_feedforwardint= 2048FFN inner dimension in each transformer layer.
dropoutfloat= 0.1Dropout in transformer.
num_queriesint= 100Number of object queries (N).
num_bbox_layersint= 3MLP depth for bounding-box head.
bbox_hidden_dimint= 256Hidden width inside the bbox MLP.
score_threshfloat= 0.7Minimum predicted class probability (before NMS).
Notes
Image → ResNet-50 (C5 feature map) → 1×1 projection (d_model) → flatten + 2-D sinusoidal positional encoding → Transformer encoder (N_enc layers, d_model, n_head) → Transformer decoder (N_dec layers, N_queries object queries) → FFN: cls head (num_classes + 1) + box head (4, sigmoid)
Used by 3
Constructors
1dunder
__init__
→None__init__(num_classes: int = 80, in_channels: int = 3, backbone_layers: tuple[int, int, int, int] = (3, 4, 6, 3), d_model: int = 256, n_head: int = 8, num_encoder_layers: int = 6, num_decoder_layers: int = 6, dim_feedforward: int = 2048, dropout: float = 0.1, num_queries: int = 100, num_bbox_layers: int = 3, bbox_hidden_dim: int = 256, score_thresh: float = 0.7)