YOLOv4-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.
YOLOv4-B
Detection; 608 × 608 RGB; 80 classes; batch 1; unfused eval. Every cfg layer is shown.
LibreYOLO
YOLOv4-B
Detection; 608 × 608 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 + mish
32 × 608 × 608
L1 Conv 3×3, s=2 + norm + mish
64 × 304 × 304
L2 Conv 1×1, s=1 + norm + mish
64 × 304 × 304
L3 Route
64 × 304 × 304
L4 Conv 1×1, s=1 + norm + mish
64 × 304 × 304
L5 Conv 1×1, s=1 + norm + mish
32 × 304 × 304
L6 Conv 3×3, s=1 + norm + mish
64 × 304 × 304
L7 Add residual
64 × 304 × 304
L8 Conv 1×1, s=1 + norm + mish
64 × 304 × 304
L9 Concat
128 × 304 × 304
L10 Conv 1×1, s=1 + norm + mish
64 × 304 × 304
L11 Conv 3×3, s=2 + norm + mish
128 × 152 × 152
L12 Conv 1×1, s=1 + norm + mish
64 × 152 × 152
L13 Route
128 × 152 × 152
L14 Conv 1×1, s=1 + norm + mish
64 × 152 × 152
L15 Conv 1×1, s=1 + norm + mish
64 × 152 × 152
L16 Conv 3×3, s=1 + norm + mish
64 × 152 × 152
L17 Add residual
64 × 152 × 152
L18 Conv 1×1, s=1 + norm + mish
64 × 152 × 152
L19 Conv 3×3, s=1 + norm + mish
64 × 152 × 152
L20 Add residual
64 × 152 × 152
L21 Conv 1×1, s=1 + norm + mish
64 × 152 × 152
L22 Concat
128 × 152 × 152
L23 Conv 1×1, s=1 + norm + mish
128 × 152 × 152
L24 Conv 3×3, s=2 + norm + mish
256 × 76 × 76
L25 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L26 Route
256 × 76 × 76
Input: 3 × 608 × 608
F25
F26
Layers 27 to 53
L27 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L28 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L29 Conv 3×3, s=1 + norm + mish
128 × 76 × 76
L30 Add residual
128 × 76 × 76
L31 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L32 Conv 3×3, s=1 + norm + mish
128 × 76 × 76
L33 Add residual
128 × 76 × 76
L34 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L35 Conv 3×3, s=1 + norm + mish
128 × 76 × 76
L36 Add residual
128 × 76 × 76
L37 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L38 Conv 3×3, s=1 + norm + mish
128 × 76 × 76
L39 Add residual
128 × 76 × 76
L40 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L41 Conv 3×3, s=1 + norm + mish
128 × 76 × 76
L42 Add residual
128 × 76 × 76
L43 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L44 Conv 3×3, s=1 + norm + mish
128 × 76 × 76
L45 Add residual
128 × 76 × 76
L46 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L47 Conv 3×3, s=1 + norm + mish
128 × 76 × 76
L48 Add residual
128 × 76 × 76
L49 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L50 Conv 3×3, s=1 + norm + mish
128 × 76 × 76
L51 Add residual
128 × 76 × 76
L52 Conv 1×1, s=1 + norm + mish
128 × 76 × 76
L53 Concat
256 × 76 × 76
F26
F25
F53
Layers 54 to 80
L54 Conv 1×1, s=1 + norm + mish
256 × 76 × 76
L55 Conv 3×3, s=2 + norm + mish
512 × 38 × 38
L56 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L57 Route
512 × 38 × 38
L58 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L59 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L60 Conv 3×3, s=1 + norm + mish
256 × 38 × 38
L61 Add residual
256 × 38 × 38
L62 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L63 Conv 3×3, s=1 + norm + mish
256 × 38 × 38
L64 Add residual
256 × 38 × 38
L65 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L66 Conv 3×3, s=1 + norm + mish
256 × 38 × 38
L67 Add residual
256 × 38 × 38
L68 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L69 Conv 3×3, s=1 + norm + mish
256 × 38 × 38
L70 Add residual
256 × 38 × 38
L71 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L72 Conv 3×3, s=1 + norm + mish
256 × 38 × 38
L73 Add residual
256 × 38 × 38
L74 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L75 Conv 3×3, s=1 + norm + mish
256 × 38 × 38
L76 Add residual
256 × 38 × 38
L77 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L78 Conv 3×3, s=1 + norm + mish
256 × 38 × 38
L79 Add residual
256 × 38 × 38
L80 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
F53
F79
F80
F54
F56
Layers 81 to 107
L81 Conv 3×3, s=1 + norm + mish
256 × 38 × 38
L82 Add residual
256 × 38 × 38
L83 Conv 1×1, s=1 + norm + mish
256 × 38 × 38
L84 Concat
512 × 38 × 38
L85 Conv 1×1, s=1 + norm + mish
512 × 38 × 38
L86 Conv 3×3, s=2 + norm + mish
1024 × 19 × 19
L87 Conv 1×1, s=1 + norm + mish
512 × 19 × 19
L88 Route
1024 × 19 × 19
L89 Conv 1×1, s=1 + norm + mish
512 × 19 × 19
L90 Conv 1×1, s=1 + norm + mish
512 × 19 × 19
L91 Conv 3×3, s=1 + norm + mish
512 × 19 × 19
L92 Add residual
512 × 19 × 19
L93 Conv 1×1, s=1 + norm + mish
512 × 19 × 19
L94 Conv 3×3, s=1 + norm + mish
512 × 19 × 19
L95 Add residual
512 × 19 × 19
L96 Conv 1×1, s=1 + norm + mish
512 × 19 × 19
L97 Conv 3×3, s=1 + norm + mish
512 × 19 × 19
L98 Add residual
512 × 19 × 19
L99 Conv 1×1, s=1 + norm + mish
512 × 19 × 19
L100 Conv 3×3, s=1 + norm + mish
512 × 19 × 19
L101 Add residual
512 × 19 × 19
L102 Conv 1×1, s=1 + norm + mish
512 × 19 × 19
L103 Concat
1024 × 19 × 19
L104 Conv 1×1, s=1 + norm + mish
1024 × 19 × 19
L105 Conv 1×1, s=1 + norm + leaky
512 × 19 × 19
L106 Conv 3×3, s=1 + norm + leaky
1024 × 19 × 19
L107 Conv 1×1, s=1 + norm + leaky
512 × 19 × 19
F80
F79
F56
F107
F85
Layers 108 to 134
L108 MaxPool2d 5×5, s=1
512 × 19 × 19
L109 Route
512 × 19 × 19
L110 MaxPool2d 9×9, s=1
512 × 19 × 19
L111 Route
512 × 19 × 19
L112 MaxPool2d 13×13, s=1
512 × 19 × 19
L113 Concat
2048 × 19 × 19
L114 Conv 1×1, s=1 + norm + leaky
512 × 19 × 19
L115 Conv 3×3, s=1 + norm + leaky
1024 × 19 × 19
L116 Conv 1×1, s=1 + norm + leaky
512 × 19 × 19
L117 Conv 1×1, s=1 + norm + leaky
256 × 19 × 19
L118 Nearest upsample ×2
256 × 38 × 38
L119 Route
512 × 38 × 38
L120 Conv 1×1, s=1 + norm + leaky
256 × 38 × 38
L121 Concat
512 × 38 × 38
L122 Conv 1×1, s=1 + norm + leaky
256 × 38 × 38
L123 Conv 3×3, s=1 + norm + leaky
512 × 38 × 38
L124 Conv 1×1, s=1 + norm + leaky
256 × 38 × 38
L125 Conv 3×3, s=1 + norm + leaky
512 × 38 × 38
L126 Conv 1×1, s=1 + norm + leaky
256 × 38 × 38
L127 Conv 1×1, s=1 + norm + leaky
128 × 38 × 38
L128 Nearest upsample ×2
128 × 76 × 76
L129 Route
256 × 76 × 76
L130 Conv 1×1, s=1 + norm + leaky
128 × 76 × 76
L131 Concat
256 × 76 × 76
L132 Conv 1×1, s=1 + norm + leaky
128 × 76 × 76
L133 Conv 3×3, s=1 + norm + leaky
256 × 76 × 76
L134 Conv 1×1, s=1 + norm + leaky
128 × 76 × 76
F107
F107
F107
F107
F85
F54
F134
F116
F126
Layers 135 to 161
L135 Conv 3×3, s=1 + norm + leaky
256 × 76 × 76
L136 Conv 1×1, s=1 + norm + leaky
128 × 76 × 76
L137 Conv 3×3, s=1 + norm + leaky
256 × 76 × 76
L138 Conv 1×1, s=1
255 × 76 × 76
L139 Raw yolo head
255 × 76 × 76
L140 Route
128 × 76 × 76
L141 Conv 3×3, s=2 + norm + leaky
256 × 38 × 38
L142 Concat
512 × 38 × 38
L143 Conv 1×1, s=1 + norm + leaky
256 × 38 × 38
L144 Conv 3×3, s=1 + norm + leaky
512 × 38 × 38
L145 Conv 1×1, s=1 + norm + leaky
256 × 38 × 38
L146 Conv 3×3, s=1 + norm + leaky
512 × 38 × 38
L147 Conv 1×1, s=1 + norm + leaky
256 × 38 × 38
L148 Conv 3×3, s=1 + norm + leaky
512 × 38 × 38
L149 Conv 1×1, s=1
255 × 38 × 38
L150 Raw yolo head
255 × 38 × 38
L151 Route
256 × 38 × 38
L152 Conv 3×3, s=2 + norm + leaky
512 × 19 × 19
L153 Concat
1024 × 19 × 19
L154 Conv 1×1, s=1 + norm + leaky
512 × 19 × 19
L155 Conv 3×3, s=1 + norm + leaky
1024 × 19 × 19
L156 Conv 1×1, s=1 + norm + leaky
512 × 19 × 19
L157 Conv 3×3, s=1 + norm + leaky
1024 × 19 × 19
L158 Conv 1×1, s=1 + norm + leaky
512 × 19 × 19
L159 Conv 3×3, s=1 + norm + leaky
1024 × 19 × 19
L160 Conv 1×1, s=1
255 × 19 × 19
L161 Raw yolo head
255 × 19 × 19
F134
F126
F116
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.
Mish activation
Input
Softplus
Tanh
Elementwise multiply
Input × tanh(softplus(input))
Detection decoding (postprocessing)
Raw head outputs: 255 × 76 × 76; 255 × 38 × 38; 255 × 19 × 19
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): [(12.0, 16.0), (19.0, 36.0), (40.0, 28.0)]; [(36.0, 75.0), (76.0, 55.0), (72.0, 146.0)]; [(142.0, 110.0), (192.0, 243.0), (459.0, 401.0)]
Strides: 8, 16, 32. YOLO anchors are in input pixels.
Center scale_x_y per head: 1.2, 1.1, 1.05. Offset = sigmoid(raw) × scale - (scale - 1)/2.
Source: darknet/cfgs/yolov4.cfg; darknet/net.py; darknet/blocks.py. Revision a4d0ecc9e17f.
libreyolo.com