digraph convnext { graph [labeljust=left ranksep=0.2] node [fixedsize=true shape=box width=3] edge [arrowhead=vee] image [label=image shape=plaintext] embeddings_conv [label="4x4 conv, 96, stride 4"] image -> embeddings_conv subgraph "cluster stage 1" { graph [color="#e9f2f7" label="stage 1\l" style=filled] node [color="#bcd9e7" style=filled] subgraph "cluster stage 1 block 1" { graph [color="#0f4158" label="block 1\l" style=dashed] "stage 1 block 1 dwconv" [label="d7x7 conv, 96, stride 1"] "stage 1 block 1 pwconv1" [label="1x1 conv, 384"] "stage 1 block 1 pwconv2" [label="1x1 conv, 96"] "stage 1 block 1 dwconv" -> "stage 1 block 1 pwconv1" "stage 1 block 1 pwconv1" -> "stage 1 block 1 pwconv2" } subgraph "cluster stage 1 block 2" { graph [color="#0f4158" label="block 2\l" style=dashed] "stage 1 block 2 dwconv" [label="d7x7 conv, 96, stride 1"] "stage 1 block 2 pwconv1" [label="1x1 conv, 384"] "stage 1 block 2 pwconv2" [label="1x1 conv, 96"] "stage 1 block 2 dwconv" -> "stage 1 block 2 pwconv1" "stage 1 block 2 pwconv1" -> "stage 1 block 2 pwconv2" } subgraph "cluster stage 1 block 3" { graph [color="#0f4158" label="block 3\l" style=dashed] "stage 1 block 3 dwconv" [label="d7x7 conv, 96, stride 1"] "stage 1 block 3 pwconv1" [label="1x1 conv, 384"] "stage 1 block 3 pwconv2" [label="1x1 conv, 96"] "stage 1 block 3 dwconv" -> "stage 1 block 3 pwconv1" "stage 1 block 3 pwconv1" -> "stage 1 block 3 pwconv2" } "stage 1 block 1 pwconv2" -> "stage 1 block 2 dwconv" "stage 1 block 2 pwconv2" -> "stage 1 block 3 dwconv" } subgraph "cluster stage 2" { graph [color="#e9f7f3" label="stage 2\l" style=filled] node [color="#bce7db" style=filled] "stage 2 downsampling" [label="2x2 conv, 192, stride 2"] subgraph "cluster stage 2 block 1" { graph [color="#0f5844" label="block 1\l" style=dashed] "stage 2 block 1 dwconv" [label="d7x7 conv, 192, stride 1"] "stage 2 block 1 pwconv1" [label="1x1 conv, 768"] "stage 2 block 1 pwconv2" [label="1x1 conv, 192"] "stage 2 block 1 dwconv" -> "stage 2 block 1 pwconv1" "stage 2 block 1 pwconv1" -> "stage 2 block 1 pwconv2" } subgraph "cluster stage 2 block 2" { graph [color="#0f5844" label="block 2\l" style=dashed] "stage 2 block 2 dwconv" [label="d7x7 conv, 192, stride 1"] "stage 2 block 2 pwconv1" [label="1x1 conv, 768"] "stage 2 block 2 pwconv2" [label="1x1 conv, 192"] "stage 2 block 2 dwconv" -> "stage 2 block 2 pwconv1" "stage 2 block 2 pwconv1" -> "stage 2 block 2 pwconv2" } subgraph "cluster stage 2 block 3" { graph [color="#0f5844" label="block 3\l" style=dashed] "stage 2 block 3 dwconv" [label="d7x7 conv, 192, stride 1"] "stage 2 block 3 pwconv1" [label="1x1 conv, 768"] "stage 2 block 3 pwconv2" [label="1x1 conv, 192"] "stage 2 block 3 dwconv" -> "stage 2 block 3 pwconv1" "stage 2 block 3 pwconv1" -> "stage 2 block 3 pwconv2" } "stage 2 downsampling" -> "stage 2 block 1 dwconv" "stage 2 block 1 pwconv2" -> "stage 2 block 2 dwconv" "stage 2 block 2 pwconv2" -> "stage 2 block 3 dwconv" } subgraph "cluster stage 3" { graph [color="#e9f2f7" label="stage 3\l" style=filled] node [color="#bcd9e7" style=filled] "stage 3 downsampling" [label="2x2 conv, 384, stride 2"] subgraph "cluster stage 3 block 1" { graph [color="#0f4158" label="block 1\l" style=dashed] "stage 3 block 1 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 1 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 1 pwconv2" [label="1x1 conv, 384"] "stage 3 block 1 dwconv" -> "stage 3 block 1 pwconv1" "stage 3 block 1 pwconv1" -> "stage 3 block 1 pwconv2" } subgraph "cluster stage 3 block 2" { graph [color="#0f4158" label="block 2\l" style=dashed] "stage 3 block 2 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 2 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 2 pwconv2" [label="1x1 conv, 384"] "stage 3 block 2 dwconv" -> "stage 3 block 2 pwconv1" "stage 3 block 2 pwconv1" -> "stage 3 block 2 pwconv2" } subgraph "cluster stage 3 block 3" { graph [color="#0f4158" label="block 3\l" style=dashed] "stage 3 block 3 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 3 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 3 pwconv2" [label="1x1 conv, 384"] "stage 3 block 3 dwconv" -> "stage 3 block 3 pwconv1" "stage 3 block 3 pwconv1" -> "stage 3 block 3 pwconv2" } subgraph "cluster stage 3 block 4" { graph [color="#0f4158" label="block 4\l" style=dashed] "stage 3 block 4 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 4 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 4 pwconv2" [label="1x1 conv, 384"] "stage 3 block 4 dwconv" -> "stage 3 block 4 pwconv1" "stage 3 block 4 pwconv1" -> "stage 3 block 4 pwconv2" } subgraph "cluster stage 3 block 5" { graph [color="#0f4158" label="block 5\l" style=dashed] "stage 3 block 5 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 5 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 5 pwconv2" [label="1x1 conv, 384"] "stage 3 block 5 dwconv" -> "stage 3 block 5 pwconv1" "stage 3 block 5 pwconv1" -> "stage 3 block 5 pwconv2" } subgraph "cluster stage 3 block 6" { graph [color="#0f4158" label="block 6\l" style=dashed] "stage 3 block 6 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 6 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 6 pwconv2" [label="1x1 conv, 384"] "stage 3 block 6 dwconv" -> "stage 3 block 6 pwconv1" "stage 3 block 6 pwconv1" -> "stage 3 block 6 pwconv2" } subgraph "cluster stage 3 block 7" { graph [color="#0f4158" label="block 7\l" style=dashed] "stage 3 block 7 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 7 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 7 pwconv2" [label="1x1 conv, 384"] "stage 3 block 7 dwconv" -> "stage 3 block 7 pwconv1" "stage 3 block 7 pwconv1" -> "stage 3 block 7 pwconv2" } subgraph "cluster stage 3 block 8" { graph [color="#0f4158" label="block 8\l" style=dashed] "stage 3 block 8 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 8 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 8 pwconv2" [label="1x1 conv, 384"] "stage 3 block 8 dwconv" -> "stage 3 block 8 pwconv1" "stage 3 block 8 pwconv1" -> "stage 3 block 8 pwconv2" } subgraph "cluster stage 3 block 9" { graph [color="#0f4158" label="block 9\l" style=dashed] "stage 3 block 9 dwconv" [label="d7x7 conv, 384, stride 1"] "stage 3 block 9 pwconv1" [label="1x1 conv, 1536"] "stage 3 block 9 pwconv2" [label="1x1 conv, 384"] "stage 3 block 9 dwconv" -> "stage 3 block 9 pwconv1" "stage 3 block 9 pwconv1" -> "stage 3 block 9 pwconv2" } "stage 3 downsampling" -> "stage 3 block 1 dwconv" "stage 3 block 1 pwconv2" -> "stage 3 block 2 dwconv" "stage 3 block 2 pwconv2" -> "stage 3 block 3 dwconv" "stage 3 block 3 pwconv2" -> "stage 3 block 4 dwconv" "stage 3 block 4 pwconv2" -> "stage 3 block 5 dwconv" "stage 3 block 5 pwconv2" -> "stage 3 block 6 dwconv" "stage 3 block 6 pwconv2" -> "stage 3 block 7 dwconv" "stage 3 block 7 pwconv2" -> "stage 3 block 8 dwconv" "stage 3 block 8 pwconv2" -> "stage 3 block 9 dwconv" } subgraph "cluster stage 4" { graph [color="#e9f7f3" label="stage 4\l" style=filled] node [color="#bce7db" style=filled] "stage 4 downsampling" [label="2x2 conv, 768, stride 2"] subgraph "cluster stage 4 block 1" { graph [color="#0f5844" label="block 1\l" style=dashed] "stage 4 block 1 dwconv" [label="d7x7 conv, 768, stride 1"] "stage 4 block 1 pwconv1" [label="1x1 conv, 3072"] "stage 4 block 1 pwconv2" [label="1x1 conv, 768"] "stage 4 block 1 dwconv" -> "stage 4 block 1 pwconv1" "stage 4 block 1 pwconv1" -> "stage 4 block 1 pwconv2" } subgraph "cluster stage 4 block 2" { graph [color="#0f5844" label="block 2\l" style=dashed] "stage 4 block 2 dwconv" [label="d7x7 conv, 768, stride 1"] "stage 4 block 2 pwconv1" [label="1x1 conv, 3072"] "stage 4 block 2 pwconv2" [label="1x1 conv, 768"] "stage 4 block 2 dwconv" -> "stage 4 block 2 pwconv1" "stage 4 block 2 pwconv1" -> "stage 4 block 2 pwconv2" } subgraph "cluster stage 4 block 3" { graph [color="#0f5844" label="block 3\l" style=dashed] "stage 4 block 3 dwconv" [label="d7x7 conv, 768, stride 1"] "stage 4 block 3 pwconv1" [label="1x1 conv, 3072"] "stage 4 block 3 pwconv2" [label="1x1 conv, 768"] "stage 4 block 3 dwconv" -> "stage 4 block 3 pwconv1" "stage 4 block 3 pwconv1" -> "stage 4 block 3 pwconv2" } "stage 4 downsampling" -> "stage 4 block 1 dwconv" "stage 4 block 1 pwconv2" -> "stage 4 block 2 dwconv" "stage 4 block 2 pwconv2" -> "stage 4 block 3 dwconv" } "stage 1 block 3 pwconv2" -> "stage 2 downsampling" "stage 2 block 3 pwconv2" -> "stage 3 downsampling" "stage 3 block 9 pwconv2" -> "stage 4 downsampling" embeddings_conv -> "stage 1 block 1 dwconv" "stage 4 block 3 pwconv2" -> "output vector" "output vector" [label="output vector" shape=plaintext] }