Skip to content

Commit d75fbab

Browse files
NioolekhhaAndroid
andcommitted
Add visualization of the base model to the docstring. (open-mmlab#196)
* add yolov5 voc training * format code * [Feature] Support YOLOv7 inference (open-mmlab#149) * update * update * update * update * update * add docstr * fix comments * update * add video of featmap vis demo (open-mmlab#169) * [Enhance] YOLOv6 model convert (open-mmlab#165) * add yolov5 voc training * fix bug * fix bug * fix yolov6 model convert * update yolov5 modelconvert * rollback yolov5 model convert * [Feature] Support VOC Dataset in YOLOv5 (open-mmlab#134) * add yolov5 voc training * fix mosaic bug * fix mosaic bug and temp config * fix mosaic bug * update config * support training on voc dataset * format code * format code * Optimize Code. Change `RandomTransform` to `OneOf` * Change `OneOf` to `mmcv.RandomChoice` * fix yolov5coco dataset * fix yolov5coco dataset * fix bug, format code * format config * format code * add yolov5 voc training * rebase * fix mosaic bug * update config * support training on voc dataset * format code * format code * Optimize Code. Change `RandomTransform` to `OneOf` * Change `OneOf` to `mmcv.RandomChoice` * fix yolov5coco dataset * fix yolov5coco dataset * fix bug, format code * format code * add yolov5 voc training * fix mosaic bug and temp config * fix mosaic bug * update config * support training on voc dataset * format code * format code * Optimize Code. Change `RandomTransform` to `OneOf` * Change `OneOf` to `mmcv.RandomChoice` * fix yolov5coco dataset * fix yolov5coco dataset * fix bug, format code * format code * add yolov5 voc training * rebase * fix mosaic bug * update config * support training on voc dataset * format code * format code * Optimize Code. Change `RandomTransform` to `OneOf` * Change `OneOf` to `mmcv.RandomChoice` * fix yolov5coco dataset * fix yolov5coco dataset * fix bug, format code * format code * format code * fix lint * add unittest * add auto loss_weight * add doc; add model log url * add doc; add model log url * add doc; add model log url * add neck vis docstr * add neck vis docstr * add backbone model structure diagram * fix readthedocs.txt * fix doc vis * fix vis * fix vis * fix vis * fix vis Co-authored-by: Haian Huang(深度眸) <[email protected]>
1 parent 75997fc commit d75fbab

File tree

3 files changed

+127
-1
lines changed

3 files changed

+127
-1
lines changed

mmyolo/models/backbones/base_backbone.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,37 @@
1616
class BaseBackbone(BaseModule, metaclass=ABCMeta):
1717
"""BaseBackbone backbone used in YOLO series.
1818
19+
.. code:: text
20+
21+
Backbone model structure diagram
22+
+-----------+
23+
| input |
24+
+-----------+
25+
v
26+
+-----------+
27+
| stem |
28+
| layer |
29+
+-----------+
30+
v
31+
+-----------+
32+
| stage |
33+
| layer 1 |
34+
+-----------+
35+
v
36+
+-----------+
37+
| stage |
38+
| layer 2 |
39+
+-----------+
40+
v
41+
......
42+
v
43+
+-----------+
44+
| stage |
45+
| layer n |
46+
+-----------+
47+
In P5 model, n=4
48+
In P6 model, n=5
49+
1950
Args:
2051
arch_setting (dict): Architecture of BaseBackbone.
2152
plugins (list[dict]): List of plugins for stages, each dict contains:

mmyolo/models/necks/base_yolo_neck.py

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,99 @@
1515
class BaseYOLONeck(BaseModule, metaclass=ABCMeta):
1616
"""Base neck used in YOLO series.
1717
18+
.. code:: text
19+
20+
P5 neck model structure diagram
21+
+-----------+ +-------+
22+
| bottom_up |--->| out |---> output2
23+
| layer1 | | layer2|
24+
stride=32 +-----------+ +-------+
25+
idx=2 +------+ ^
26+
-----> |reduce| +-----------+
27+
|layer2|--------+-------->| cat |
28+
+------+ | +-----------+
29+
v ^
30+
+--------+ +-----------+
31+
|upsample| |downsample |
32+
| layer2 | | layer1 |
33+
+--------+ +-----------+
34+
stride=16 v ^
35+
idx=1 +------+ +--------+ +-----------+ +-------+
36+
-----> |reduce|--->| cat | | bottom_up |--->| out |---> output1
37+
|layer1| +--------+ | layer0 | | layer1|
38+
+------+ v +-----------+ +-------+
39+
+--------+ ^
40+
|top_down| +-----------+
41+
| layer2 |--->| cat |
42+
+--------+ +-----------+
43+
v ^
44+
+--------+ +-----------+
45+
|upsample| |downsample |
46+
| layer1 | | layer0 |
47+
+--------+ +-----------+
48+
stride=8 v ^
49+
idx=0 +------+ +--------+ |
50+
-----> |reduce|--->| cat | |
51+
|layer0| +--------+ |
52+
+------+ v |
53+
+--------+ | +-------+
54+
|top_down|----------+--------->| out |---> output0
55+
| layer1 | | layer0|
56+
+--------+ +-------+
57+
58+
59+
P6 neck model structure diagram
60+
+-----------+ +-------+
61+
| bottom_up |--->| out |---> output3
62+
| layer2 | | layer3|
63+
stride=64 +-----------+ +-------+
64+
idx=3 +------+ ^
65+
-----> |reduce| +-----------+
66+
|layer3|---------+------->| cat |
67+
+------+ | +-----------+
68+
v ^
69+
+--------+ +-----------+
70+
|upsample| |downsample |
71+
| layer3 | | layer2 |
72+
+--------+ +-----------+
73+
stride=32 v ^
74+
idx=2 +------+ +--------+ +-----------+ +-------+
75+
-----> |reduce|--->| cat | | bottom_up |--->| out |---> output2
76+
|layer2| +--------+ | layer1 | | layer2|
77+
+------+ v +-----------+ +-------+
78+
+--------+ ^
79+
|top_down| +-----------+
80+
| layer3 |--->| cat |
81+
+--------+ +-----------+
82+
v ^
83+
+--------+ +-----------+
84+
|upsample| |downsample |
85+
| layer2 | | layer1 |
86+
+--------+ +-----------+
87+
stride=16 v ^
88+
idx=1 +------+ +--------+ +-----------+ +-------+
89+
-----> |reduce|--->| cat | | bottom_up |--->| out |---> output1
90+
|layer1| +--------+ | layer0 | | layer1|
91+
+------+ v +-----------+ +-------+
92+
+--------+ ^
93+
|top_down| +-----------+
94+
| layer2 |--->| cat |
95+
+--------+ +-----------+
96+
v ^
97+
+--------+ +-----------+
98+
|upsample| |downsample |
99+
| layer1 | | layer0 |
100+
+--------+ +-----------+
101+
stride=8 v ^
102+
idx=0 +------+ +--------+ |
103+
-----> |reduce|--->| cat | |
104+
|layer0| +--------+ |
105+
+------+ v |
106+
+--------+ | +-------+
107+
|top_down|----------+--------->| out |---> output0
108+
| layer1 | | layer0|
109+
+--------+ +-------+
110+
18111
Args:
19112
in_channels (List[int]): Number of input channels per scale.
20113
out_channels (int): Number of output channels (used at each scale)

requirements/readthedocs.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
mmcv
1+
mmcv>=2.0.0rc1,<2.1.0
2+
mmdet>=3.0.0rc0
3+
mmengine==0.1.0
24
torch
35
torchvision

0 commit comments

Comments
 (0)