YOLOv3-B
Fit diagram
Read at 100%
Clear selection
Download SVG
Download PNG
Click a block to read its description, or select it with Tab and Enter.
YOLOv3-B
Detection; 416 × 416 RGB; 80 classes; batch 1; unfused eval. Every cfg layer is shown.
LibreYOLO
YOLOv3-B
Detection; 416 × 416 RGB; 80 classes; batch 1; unfused eval. Every cfg layer is shown.
L = cfg layer index. Matching F labels continue the same tensor across columns. Full routes remain visible.
Layers 0 to 26
L0 Conv 3×3, s=1 + norm + leaky
32 × 416 × 416
L1 Conv 3×3, s=2 + norm + leaky
64 × 208 × 208
L2 Conv 1×1, s=1 + norm + leaky
32 × 208 × 208
L3 Conv 3×3, s=1 + norm + leaky
64 × 208 × 208
L4 Add residual
64 × 208 × 208
L5 Conv 3×3, s=2 + norm + leaky
128 × 104 × 104
L6 Conv 1×1, s=1 + norm + leaky
64 × 104 × 104
L7 Conv 3×3, s=1 + norm + leaky
128 × 104 × 104
L8 Add residual
128 × 104 × 104
L9 Conv 1×1, s=1 + norm + leaky
64 × 104 × 104
L10 Conv 3×3, s=1 + norm + leaky
128 × 104 × 104
L11 Add residual
128 × 104 × 104
L12 Conv 3×3, s=2 + norm + leaky
256 × 52 × 52
L13 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L14 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L15 Add residual
256 × 52 × 52
L16 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L17 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L18 Add residual
256 × 52 × 52
L19 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L20 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L21 Add residual
256 × 52 × 52
L22 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L23 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L24 Add residual
256 × 52 × 52
L25 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L26 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
Input: 3 × 416 × 416
F24
F26
Layers 27 to 53
L27 Add residual
256 × 52 × 52
L28 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L29 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L30 Add residual
256 × 52 × 52
L31 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L32 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L33 Add residual
256 × 52 × 52
L34 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L35 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L36 Add residual
256 × 52 × 52
L37 Conv 3×3, s=2 + norm + leaky
512 × 26 × 26
L38 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L39 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L40 Add residual
512 × 26 × 26
L41 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L42 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L43 Add residual
512 × 26 × 26
L44 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L45 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L46 Add residual
512 × 26 × 26
L47 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L48 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L49 Add residual
512 × 26 × 26
L50 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L51 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L52 Add residual
512 × 26 × 26
L53 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
F26
F24
F36
F52
F53
Layers 54 to 80
L54 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L55 Add residual
512 × 26 × 26
L56 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L57 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L58 Add residual
512 × 26 × 26
L59 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L60 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L61 Add residual
512 × 26 × 26
L62 Conv 3×3, s=2 + norm + leaky
1024 × 13 × 13
L63 Conv 1×1, s=1 + norm + leaky
512 × 13 × 13
L64 Conv 3×3, s=1 + norm + leaky
1024 × 13 × 13
L65 Add residual
1024 × 13 × 13
L66 Conv 1×1, s=1 + norm + leaky
512 × 13 × 13
L67 Conv 3×3, s=1 + norm + leaky
1024 × 13 × 13
L68 Add residual
1024 × 13 × 13
L69 Conv 1×1, s=1 + norm + leaky
512 × 13 × 13
L70 Conv 3×3, s=1 + norm + leaky
1024 × 13 × 13
L71 Add residual
1024 × 13 × 13
L72 Conv 1×1, s=1 + norm + leaky
512 × 13 × 13
L73 Conv 3×3, s=1 + norm + leaky
1024 × 13 × 13
L74 Add residual
1024 × 13 × 13
L75 Conv 1×1, s=1 + norm + leaky
512 × 13 × 13
L76 Conv 3×3, s=1 + norm + leaky
1024 × 13 × 13
L77 Conv 1×1, s=1 + norm + leaky
512 × 13 × 13
L78 Conv 3×3, s=1 + norm + leaky
1024 × 13 × 13
L79 Conv 1×1, s=1 + norm + leaky
512 × 13 × 13
L80 Conv 3×3, s=1 + norm + leaky
1024 × 13 × 13
F53
F52
F79
F80
F61
Layers 81 to 106
L81 Conv 1×1, s=1
255 × 13 × 13
L82 Raw yolo head
255 × 13 × 13
L83 Route
512 × 13 × 13
L84 Conv 1×1, s=1 + norm + leaky
256 × 13 × 13
L85 Nearest upsample ×2
256 × 26 × 26
L86 Concat
768 × 26 × 26
L87 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L88 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L89 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L90 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L91 Conv 1×1, s=1 + norm + leaky
256 × 26 × 26
L92 Conv 3×3, s=1 + norm + leaky
512 × 26 × 26
L93 Conv 1×1, s=1
255 × 26 × 26
L94 Raw yolo head
255 × 26 × 26
L95 Route
256 × 26 × 26
L96 Conv 1×1, s=1 + norm + leaky
128 × 26 × 26
L97 Nearest upsample ×2
128 × 52 × 52
L98 Concat
384 × 52 × 52
L99 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L100 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L101 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L102 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L103 Conv 1×1, s=1 + norm + leaky
128 × 52 × 52
L104 Conv 3×3, s=1 + norm + leaky
256 × 52 × 52
L105 Conv 1×1, s=1
255 × 52 × 52
L106 Raw yolo head
255 × 52 × 52
F80
F79
F61
F36
Convolution block
Conv2d
k, stride and channels from layer label
Darknet normalization
Only layers labeled + norm
Activation
leaky: LeakyReLU(0.1); linear: identity
Norm layers: bias=False. Without norm: bias=True.
Mish uses its separate definition when present.
Normalization and pooling
Subtract running mean
x - mean
Divide by standard deviation
sqrt(running variance) + 0.000001
Multiply scale, add bias
Learned channel-wise affine transform
MaxPool2d: p = floor((k - 1) / 2).
k=2, s=1: pad right/bottom with negative infinity.
That pool preserves its input spatial size.
Detection decoding (postprocessing)
Raw head outputs: 255 × 13 × 13; 255 × 26 × 26; 255 × 52 × 52
Raw prediction tensor
Field selection is explicit in the three branches
Select xy; sigmoid center offsets
Grid + offsets; multiply by per-head stride
Select wh; exponentiate logits
Multiply by anchor widths and heights
Select objectness and class logits
Sigmoid objectness × sigmoid classes
Stack cx, cy, width, height
Convert to corner coordinates
Confidence filter + class NMS
Then invert resize to the original image
Anchors by raw head (width, height): [(116.0, 90.0), (156.0, 198.0), (373.0, 326.0)]; [(30.0, 61.0), (62.0, 45.0), (59.0, 119.0)]; [(10.0, 13.0), (16.0, 30.0), (33.0, 23.0)]
Strides: 32, 16, 8. YOLO anchors are in input pixels.
Center scale_x_y per head: 1.0, 1.0, 1.0. Offset = sigmoid(raw) × scale - (scale - 1)/2.
Source: darknet/cfgs/yolov3.cfg; darknet/net.py; darknet/blocks.py. Revision a4d0ecc9e17f.
libreyolo.com