EfficientDet D0

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

EfficientDet D0512 × 512 RGB; batch 1; unfused eval. 90 sparse class slots map to 80 COCO classes.LibreYOLOEfficientDet D0512 × 512 RGB; batch 1; unfused eval. 90 sparse class slots map to 80 COCO classes.EfficientNet feature backboneInput3 × 512 × 512Conv 3×3 s=2; BN; SiLU32 × 256 × 256S0: DepthwiseSeparable k=3, s=1, n=116 × 256 × 256; E=32; SE=8S1: MBConv k=3, s=2, n=224 × 128 × 128; E=96/144; SE=4/6S2: MBConv k=5, s=2, n=240 × 64 × 64; E=144/240; SE=6/10S3: MBConv k=3, s=2, n=380 × 32 × 32; E=240/480; SE=10/20S4: MBConv k=5, s=1, n=3112 × 32 × 32; E=480/672; SE=20/28S5: MBConv k=5, s=2, n=4192 × 16 × 16; E=672/1152; SE=28/48S6: MBConv k=3, s=1, n=1320 × 16 × 16; E=1152; SE=48E/SE pairs give first/later widths only when n>1.S2, S4 and S6 provide C3, C4 and C5.Bidirectional feature pyramid cellFnode I664 × 8 × 8; 2 inputsFnode I564 × 16 × 16; 2 inputsFnode I464 × 32 × 32; 2 inputsFnode P364 × 64 × 64; 2 inputsFnode P464 × 32 × 32; 3 inputsFnode P564 × 16 × 16; 3 inputsFnode P664 × 8 × 8; 3 inputsFnode P764 × 4 × 4; 2 inputsin6in5in4in3in7in4I4in5I5in6I6in7I6I5I4Each incoming edge resamples to its destination resolution.Outputs are P3/P4/P5/P6/P7. Repeat this cell 3 times, with independent weights.Cell 1: in3/in4/in5 = C3/C4/C5; in6/in7 come from C5 downsampling.Later cells receive five 64-channel maps from the previous cell.Class and box towersApply both towers independently at every P3...P7 level.Pyramid feature64 channelsSeparableConv2d 3×364 channels; pointwise bias=TrueBatchNorm2dPer level and per repeat; eps=.001SiLURepeat tower unit 3 timesSeparableConv2d 3×3810 output channels; no BN/activationPyramid feature64 channelsSeparableConv2d 3×364 channels; pointwise bias=TrueBatchNorm2dPer level and per repeat; eps=.001SiLURepeat tower unit 3 timesSeparableConv2d 3×336 output channels; no BN/activationClass: 9 anchors × 90 logits = 810 channels.Box: 9 anchors × 4 deltas = 36 channels.Every repeated conv is shared across levels.BatchNorm parameters/statistics differ by level.Five raw maps per tower; no sigmoid in network output.49,104 anchor rows after flattening.MBConvInputChannel widths are resolved by stageConv2d 1×1 expansionE first/later width from stageBatchNorm2d + SiLUeps=.001; momentum=.1Depthwise Conv2dk/s from stage; groups=E; SAME paddingBatchNorm2d + SiLUeps=.001; momentum=.1SqueezeExciteSE first/later reduced width from stageConv2d 1×1 projectionStage output channels; no biasBatchNorm2deps=.001; no activation+Add identity only when stride 1 and input/output widths match.DSConvInputChannel widths are resolved by stageDepthwise Conv2dk/s from stage; groups=E; SAME paddingBatchNorm2d + SiLUeps=.001; momentum=.1SqueezeExciteSE first/later reduced width from stageConv2d 1×1 projectionStage output channels; no biasBatchNorm2deps=.001; no activation+Add identity only when stride 1 and input/output widths match.SqueezeExciteInputExpanded featureSpatial mean1 ×1; channels preservedConv2d 1×1SE reduced width; bias=TrueSiLUConv2d 1×1Restore expanded width; bias=TrueSigmoidMultiply with original inputBroadcast over spatial positionsFnodeResample each inputTwo or three separate tensorsLearned edge weights2 or 3 scalar parametersReLU weightsNonnegative weightsNormalize weightsDivide by sum(weights) +0.0001Multiply each input by its weightOne product for each inputStack and sum productsReduce incoming-edge axisSiLUActivation before convolutionSeparableConv2d 3×364 channels; pointwise biasBatchNorm2deps=.001; momentum=.01ResampleOptional Conv2d 1×1Cell 1 backbone edges project to 64 channelsBatchNorm2dProjection has bias=True; eps=.001Resolution transformPer edge; target grid given by FnodeNearest interpolationFor coarser inputMaxPool2d3×3, s=2SAME pad with negative infinityEqual grid: identity. Equal channels: no projection.Initial in6: C5 projection + pooling. in7: pool in6.Cell 1 projects each C3/C4/C5 edge independently.All later cell inputs already have 64 channels.Incoming C3/C4/C5 channels: 40/112/320SeparableDepthwise Conv2d3×3groups=input channels; p=1; no biasPointwise Conv2d 1×1bias=True; output width from occurrenceThis core has no normalization or activation.BiFPN appends BN; head repeat appends BN and SiLU.Final predictions append neither.BatchNorm2deps=.001SiLUVisible ConvBNSiLU suffix definitionSamePaddingPad before convolution/poolingLeft/top use floor(total padding /2)Conv2d or MaxPool2dOutput is ceil(input/stride)For these even inputs and stride 2:k3: left/top 0, right/bottom 1.k5: left/top 1, right/bottom 2.Stride1 uses symmetric padding 1 (k3) or 2 (k5).Convolutions pad zero; max pooling pads negative infinity.DecodeFlatten five class/box levels49,104 ×90 logits; 49,104 ×4 deltasTop 5000 class logitsSelect anchors and class slots before sigmoidGenerate 9 anchors/locationStrides 8/16/32/64/128; center=stride/2Decode ty,tx,th,twShift centers; exp height/widthSigmoid selected logits; map COCO90 slots; unused IDs become -1Filter invalid/low-score boxes; class NMSDefault maximum 100 detectionsAnchor shapes: base size 4 × stride × 2^(scale_index/3), scale_index 0/1/2; width/height factors (1,1), (1.4,.7), (.7,1.4).Native fixed-resolution eval graph. All five scales and every first-cell resample shape passed a random-weight CPU forward.Source: models/efficientdet/nn.py; models/efficientdet/config.py. Revision a4d0ecc9e17f.libreyolo.com