YOLO9-T

Click a block to read its description, or select it with Tab and Enter.

YOLO9-TDetection; 640 × 640 RGB; 80 classes; batch 1. Unfused PyTorch eval; tensor sizes exclude batch.LibreYOLOYOLO9-TDetection; 640 × 640 RGB; 80 classes; batch 1. Unfused PyTorch eval; tensor sizes exclude batch.Matching tensor labels continue branches between panels; all block definitions and head operations are visible.BackboneInput3 × 640 × 640Conv 3×3, s=216 × 320 × 320Conv 3×3, s=232 × 160 × 160ELAN (B2)32 × 160 × 160AConv64 × 80 × 80RepNCSPELAN (B3)64 × 80 × 80; part=64AConv96 × 40 × 40RepNCSPELAN (B4)96 × 40 × 40; part=96AConv128 × 20 × 20RepNCSPELAN (B5)128 × 20 × 20; part=128SPPELAN128 × 20 × 20SPP and B2/B3/B4 feed the neck.SPPB3B4Top-down and bottom-up neckUpsample ×2128 × 40 × 40Concat with B4224 × 40 × 40RepNCSPELAN (N4)96 × 40 × 40; part=96Upsample ×296 × 80 × 80Concat with B3160 × 80 × 80RepNCSPELAN (P3)64 × 80 × 80; part=64AConv48 × 40 × 40Concat with N4144 × 40 × 40RepNCSPELAN (P4)96 × 40 × 40; part=96AConv64 × 20 × 20Concat with SPP192 × 20 × 20RepNCSPELAN (P5)128 × 20 × 20; part=128SPP from backboneB4B3N4SPPN4Nearest upsampling. Concat uses channels.RepNCSP repeat count n = 3.DDetect headP3 from neck; stride 8Input64 × 80 × 80Conv 3×364 chConv 3×364 ch; g=4Conv2d 1×164 ch; g=4Conv 3×380 chConv 3×380 chConv2d 1×180 chConcat box distributions and class logits144 × 80 × 80; 6,400 locationsP4 from neck; stride 16Input96 × 40 × 40Conv 3×364 chConv 3×364 ch; g=4Conv2d 1×164 ch; g=4Conv 3×380 chConv 3×380 chConv2d 1×180 chConcat box distributions and class logits144 × 40 × 40; 1,600 locationsP5 from neck; stride 32Input128 × 20 × 20Conv 3×364 chConv 3×364 ch; g=4Conv2d 1×164 ch; g=4Conv 3×380 chConv 3×380 chConv2d 1×180 chConcat box distributions and class logits144 × 20 × 20; 400 locationsRaw location count: 8,400. Decode gives 1 × 84 × 8,400.Final 1×1 layers have bias, no normalization or activation.Confidence filtering and NMS run after neural-network decoding.ConvConv2dk, stride, output channels, groups given by occurrenceBatchNorm2deps=0.001; momentum=0.03SiLUx × sigmoid(x)Convolution has no bias. Padding is k//2 for shown odd kernels.Unmarked strides and group counts are 1.AConvAvgPool2dk=2, s=1, p=0Conv 3×3s=2, p=1; output channels from occurrenceSquare sizes: 160 to 159 to 80; 80 to 79 to 40;40 to 39 to 20.Input channels: 32 / 64 / 96 / 64 / 96Output channels: 64 / 96 / 128 / 48 / 64RepConvNInput16 / 24 / 32 channelsConv2d 3×3p=1; no biasConv2d 1×1p=0; no biasBatchNorm2deps=0.001BatchNorm2deps=0.001+SiLU16 / 24 / 32 channelsThe optional identity BatchNorm branch is disabled.RepNBottleneckInput16 / 24 / 32 channelsRepConvN16 / 24 / 32 channelsConv 3×316 / 24 / 32 channels+identityEqual input/output widths; the residual is enabled.RepNCSPELANPart widths by occurrence: 64 / 96 / 128Conv 1×164 / 96 / 128 channelsSplit32 / 48 / 64 channels per halfRepNCSP (n=3)32 / 48 / 64 channelsConv 3×332 / 48 / 64 channelsRepNCSP (n=3)32 / 48 / 64 channelsConv 3×332 / 48 / 64 channelsConcat four inputs128 / 192 / 256 channelsConv 1×1Output width of its stageRepNCSPInput32 / 48 / 64 channelsConv 1×116 / 24 / 32 channelsConv 1×116 / 24 / 32 channelsRepNBottleneck16 / 24 / 32 channelsRepNBottleneck16 / 24 / 32 channelsRepNBottleneck16 / 24 / 32 channelsConcat32 / 48 / 64 channelsConv 1×132 / 48 / 64 channelsSPPELAN20 × 20 spatial grid throughout.Conv 1×164 channelsMaxPool2dk=5, s=1, p=2; 64 chMaxPool2dk=5, s=1, p=2; 64 chMaxPool2dk=5, s=1, p=2; 64 chConcat four taps256 channelsConv 1×1128 channelsDecodeFlatten spatial axes and join scales64 × 8,400 box logits; 80 × 8,400 class logitsReshape; softmax over 16 bins4 × 16 × 8,400Sigmoid80 × 8,400Weighted sum over bins 0...154 × 8,400 distancesGrid centers minus/plus distancesxyxy corners; scale by feature strideConcat boxes and class scores1 × 84 × 8,400Confidence filtering and NMS follow decode.ELANConv 1×132 channelsSplit16 channels per halfConv 3×316 channelsConv 3×316 channelsConcat four inputs64 channelsConv 1×132 channelsRepNCSPELAN part widths: B3=64, B4=96, B5=128, N4=96, P3=64, P4=96, P5=128Eval graph only. Optional PGI or dual-assignment training branches are not executed. Shape checks use random weights.Source: models/yolo9/nn.py; models/yolo9/nn.py. Revision a4d0ecc9e17f.libreyolo.com