diff --git a/Artifacts.toml b/Artifacts.toml index 710ce6c7..48e07d03 100644 --- a/Artifacts.toml +++ b/Artifacts.toml @@ -46,6 +46,38 @@ lazy = true sha256 = "9e8ef718f074b15bf8b49b1750764a737367ba08a2422ea51fc67e687bba9c98" url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights2/yolov4-COCO.tar.gz" +[yolov4-csp-COCO] +git-tree-sha1 = "0ed4c06e067b130a78eab84aaff62621f9b08282" +lazy = true + + [[yolov4-csp-COCO.download]] + sha256 = "e6a6ce7551b94b3ff4f493e19670c16a1c766578b16e56d2008c6cfc7c8bec02" + url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights/yolov4-csp-COCO.tar.gz" + +[yolov4-csp-x-swish-COCO] +git-tree-sha1 = "842cc97e64259829d7c23398ae135ab8e4fa58f1" +lazy = true + + [[yolov4-csp-x-swish-COCO.download]] + sha256 = "8a6c602e6c6c862ba82980c9552339fc665fc11943a4536df6456009472ededa" + url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights/yolov4-csp-x-swish-COCO.tar.gz" + +[yolov4-p5-COCO] +git-tree-sha1 = "9d783cbaf16302afb118956b79491b23553e71f2" +lazy = true + + [[yolov4-p5-COCO.download]] + sha256 = "3c158eafa4719f0e502bbc5f710084d470b6af32c6fee59344c625b450acee79" + url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights/yolov4-p5-COCO.tar.gz" + +[yolov4-p6-COCO] +git-tree-sha1 = "cdee6a06e053e68aa606e5761312667ac778a8d5" +lazy = true + + [[yolov4-p6-COCO.download]] + sha256 = "7ae1725e5b0d11ee09ef4cc40dcd4e8a7223302a42d3802df0ec28e46a235e3d" + url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights/yolov4-p6-COCO.tar.gz" + [yolov4-tiny-COCO] git-tree-sha1 = "ddad97b7d60da0cffd2b12003a5c42e88fcaedae" lazy = true @@ -54,6 +86,14 @@ lazy = true sha256 = "6e96d427f769d2dd2f1aadf96f6b8d8e8e19fc5a6e8e81ffa4dc8bda9c7d6ea3" url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights2/yolov4-tiny-COCO.tar.gz" +[yolov4x-mish-COCO] +git-tree-sha1 = "b04bfb646371d6e2eefd737b4154bca45b096ccd" +lazy = true + + [[yolov4x-mish-COCO.download]] + sha256 = "3bdd747199ddf911af9f65ea3aae9f361ee17835803ca110357e0c7160f8f685" + url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights/yolov4x-mish-COCO.tar.gz" + [yolov7-COCO] git-tree-sha1 = "817fb08f81f72429d84a08d552d54d8195d937de" lazy = true @@ -69,3 +109,11 @@ lazy = true [[yolov7-tiny-COCO.download]] sha256 = "d46863dfebb4b6008eb91f291ba59281bfd6d256c828a33b825969695abcea1a" url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights2/yolov7-tiny-COCO.tar.gz" + +[yolov7x-COCO] +git-tree-sha1 = "57a1c0aa23f2bf5ef80d46f1eeb965ccedfc61f5" +lazy = true + + [[yolov7x-COCO.download]] + sha256 = "1acd8798e8eaa4836c403501315084ba0a0d9f107355506186ed295a249bebac" + url = "https://github.com/r3tex/ObjectDetector.jl/releases/download/weights/yolov7x-COCO.tar.gz" diff --git a/CHANGELOG.md b/CHANGELOG.md index 04bf7fca..9663e703 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## Unreleased +### New models +- Add the Scaled-YOLOv4 family and yolov7x, all with official COCO weights: + `v4_csp_COCO`, `v4_csp_x_swish_COCO`, `v4x_mish_COCO`, `v4_p5_COCO`, `v4_p6_COCO`, + `v7x_COCO`. Pretrained models now default to their native input size + (416 for the previously-supported models, unchanged). + ### Performance - Batchnorm is now folded into the conv weights at load time (as darknet's `fuse_conv_batchnorm` does), removing the BatchNorm pass entirely: ~4-9% faster forward diff --git a/Project.toml b/Project.toml index b185d6f5..356f8b44 100644 --- a/Project.toml +++ b/Project.toml @@ -13,7 +13,6 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Cairo = "159f3aea-2a34-519c-b102-8c37f9878175" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c" -Functors = "d9f16b24-f501-4c13-a1f2-28368ffc5196" ImageCore = "a09fc81d-aa75-5fe9-8630-4744c3626534" ImageDraw = "4381153b-2b60-58ae-a1ba-fd683676385f" ImageFiltering = "6a3955dd-da59-5b1f-98d4-e7296123deb5" @@ -28,9 +27,6 @@ UnsafeArrays = "c4a57d5a-5b31-53a6-b365-19f8c011fbd6" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" cuDNN = "02a925ec-e4fe-4b08-9a7e-0d78e3d38ccd" -[sources] -Functors = {rev = "master", url = "https://github.com/FluxML/Functors.jl"} - [extensions] CUDAExt = ["CUDA", "cuDNN"] @@ -42,7 +38,6 @@ CUDA = "4, 5, 6" Cairo = "1.1.1" Colors = "0.13.0" Flux = "0.12, 0.13, 0.14.1, 0.15, 0.16" -Functors = "0.5" ImageCore = "0.8, 0.9, 0.10" ImageDraw = "0.2" ImageFiltering = "0.6, 0.7" diff --git a/README.md b/README.md index d183e6d7..169b4497 100755 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Object detection via YOLO in Julia. YOLO models are loaded directly from Darknet .cfg and .weights files as Flux models. Uses CUDA, if available. -Supported YOLO models are: `v2`, `v2-tiny`, `v3`, `v3-spp`, `v3-tiny`, `v4`, `v4-tiny`, `v7`, `v7-tiny` +Supported YOLO models are: `v2`, `v2-tiny`, `v3`, `v3-spp`, `v3-tiny`, `v4`, `v4-tiny`, `v4-csp`, `v4-csp-x-swish`, `v4x-mish`, `v4-p5`, `v4-p6` (Scaled-YOLOv4), `v7`, `v7-tiny`, `v7x` Other less standard models may work also. @@ -111,7 +111,20 @@ YOLO.v4_tiny_COCO() YOLO.v7_COCO() YOLO.v7_tiny_COCO() + +# Scaled-YOLOv4 family (native sizes: csp 512, csp_x_swish & x_mish 640, p5 896, p6 1280) +YOLO.v4_csp_COCO() +YOLO.v4_csp_x_swish_COCO() +YOLO.v4x_mish_COCO() +YOLO.v4_p5_COCO() +YOLO.v4_p6_COCO() + +# larger yolov7 (native size 640) +YOLO.v7x_COCO() ``` + +Each model defaults to its native input size; pass `w`/`h` to override. Note +`v4_p6` requires dimensions divisible by 64 (the others require 32). Their width and height can be modified with: ```julia YOLO.v3_COCO(w=416,h=416) diff --git a/src/yolo/models/yolov4-csp-x-swish.cfg b/src/yolo/models/yolov4-csp-x-swish.cfg new file mode 100644 index 00000000..ae0e75ba --- /dev/null +++ b/src/yolo/models/yolov4-csp-x-swish.cfg @@ -0,0 +1,1556 @@ + +[net] +# Testing +#batch=1 +#subdivisions=1 +# Training +batch=1 +subdivisions=1 +width=640 +height=640 +channels=3 +momentum=0.949 +decay=0.0005 +angle=0 +saturation = 1.5 +exposure = 1.5 +hue=.1 + +learning_rate=0.001 +burn_in=1000 +max_batches = 500500 +policy=steps +steps=400000,450000 +scales=.1,.1 + +mosaic=1 + +letter_box=1 + +ema_alpha=0.9998 + +#optimized_memory=1 + + +# ============ Backbone ============ # + +# Stem + +# 0 +[convolutional] +batch_normalize=1 +filters=32 +size=3 +stride=1 +pad=1 +activation=swish + +# P1 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=2 +pad=1 +activation=swish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=40 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=swish + +# 4 (previous+1+3k) +[shortcut] +from=-3 +activation=linear + +# P2 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=2 +pad=1 +activation=swish + +# Split + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=swish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=swish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-13 + +# Transition last + +# 20 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +# P3 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=2 +pad=1 +activation=swish + +# Split + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +# Merge [-1 -(4+3k)] + +[route] +layers = -1,-34 + +# Transition last + +# 57 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +# P4 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=2 +pad=1 +activation=swish + +# Split + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +# Merge [-1 -(3k+4)] + +[route] +layers = -1,-34 + +# Transition last + +# 94 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +# P5 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=1280 +size=3 +stride=2 +pad=1 +activation=swish + +# Split + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=swish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +# Merge [-1 -(3k+4)] + +[route] +layers = -1,-19 + +# Transition last + +# 116 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=1280 +size=1 +stride=1 +pad=1 +activation=swish + +# ============ End of Backbone ============ # + +# ============ Neck ============ # + +# CSPSPP + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +### SPP ### +[maxpool] +stride=1 +size=5 + +[route] +layers=-2 + +[maxpool] +stride=1 +size=9 + +[route] +layers=-4 + +[maxpool] +stride=1 +size=13 + +[route] +layers=-1,-3,-5,-6 +### End SPP ### + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[route] +layers = -1, -15 + +# 133 (previous+6+5+2k) +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +# End of CSPSPP + + +# FPN-4 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[upsample] +stride=2 + +[route] +layers = 94 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +# Split + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=swish + +# Merge [-1, -(2k+2)] + +[route] +layers = -1, -8 + +# Transition last + +# 149 (previous+6+4+2k) +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + + +# FPN-3 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[upsample] +stride=2 + +[route] +layers = 57 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +# Split + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=swish + +# Merge [-1, -(2k+2)] + +[route] +layers = -1, -8 + +# Transition last + +# 165 (previous+6+4+2k) +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + + +# PAN-4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=320 +activation=swish + +[route] +layers = -1, 149 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +# Split + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=swish + +[route] +layers = -1,-8 + +# Transition last + +# 178 (previous+3+4+2k) +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + + +# PAN-5 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=640 +activation=swish + +[route] +layers = -1, 133 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +# Split + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[route] +layers = -1,-8 + +# Transition last + +# 191 (previous+3+4+2k) +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish +stopbackward=900 + +# ============ End of Neck ============ # + +# ============ Head ============ # + +# YOLO-3 + +[route] +layers = 165 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=swish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + +[yolo] +mask = 0,1,2 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +#iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=0.4 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# YOLO-4 + +[route] +layers = 178 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + +[yolo] +mask = 3,4,5 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +#iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=0.4 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# YOLO-5 + +[route] +layers = 191 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=1280 +activation=swish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + +[yolo] +mask = 6,7,8 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +#iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=0.4 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 diff --git a/src/yolo/models/yolov4-csp.cfg b/src/yolo/models/yolov4-csp.cfg new file mode 100644 index 00000000..4894b4b9 --- /dev/null +++ b/src/yolo/models/yolov4-csp.cfg @@ -0,0 +1,1279 @@ +[net] +# Testing +#batch=1 +#subdivisions=1 +# Training +batch=1 +subdivisions=1 +width=512 +height=512 +channels=3 +momentum=0.949 +decay=0.0005 +angle=0 +saturation = 1.5 +exposure = 1.5 +hue=.1 + +learning_rate=0.001 +burn_in=1000 +max_batches = 500500 +policy=steps +steps=400000,450000 +scales=.1,.1 + +mosaic=1 + +letter_box=1 + +ema_alpha=0.9998 + +#optimized_memory=1 + +#23:104x104 54:52x52 85:26x26 104:13x13 for 416 + + + +[convolutional] +batch_normalize=1 +filters=32 +size=3 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=2 +pad=1 +activation=mish + +#[convolutional] +#batch_normalize=1 +#filters=64 +#size=1 +#stride=1 +#pad=1 +#activation=mish + +#[route] +#layers = -2 + +#[convolutional] +#batch_normalize=1 +#filters=64 +#size=1 +#stride=1 +#pad=1 +#activation=mish + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +#[convolutional] +#batch_normalize=1 +#filters=64 +#size=1 +#stride=1 +#pad=1 +#activation=mish + +#[route] +#layers = -1,-7 + +#[convolutional] +#batch_normalize=1 +#filters=64 +#size=1 +#stride=1 +#pad=1 +#activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-10 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-28 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-28 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=1024 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-16 + +[convolutional] +batch_normalize=1 +filters=1024 +size=1 +stride=1 +pad=1 +activation=mish + +########################## + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +### SPP ### +[maxpool] +stride=1 +size=5 + +[route] +layers=-2 + +[maxpool] +stride=1 +size=9 + +[route] +layers=-4 + +[maxpool] +stride=1 +size=13 + +[route] +layers=-1,-3,-5,-6 +### End SPP ### + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1, -13 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 79 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[route] +layers = -1, -6 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 48 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=128 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=128 +activation=mish + +[route] +layers = -1, -6 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +########################## + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 0,1,2 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=0 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=4.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=5 + +[route] +layers = -4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=256 +activation=mish + +[route] +layers = -1, -20 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[route] +layers = -1,-6 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 3,4,5 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=5 + +[route] +layers = -4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1, -49 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1,-6 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=1024 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 6,7,8 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=0.4 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 diff --git a/src/yolo/models/yolov4-p5.cfg b/src/yolo/models/yolov4-p5.cfg new file mode 100644 index 00000000..6d6fa5b7 --- /dev/null +++ b/src/yolo/models/yolov4-p5.cfg @@ -0,0 +1,1837 @@ +[net] +# Testing +#batch=1 +#subdivisions=1 +# Training +batch=1 +subdivisions=1 +width=896 +height=896 +channels=3 +momentum=0.949 +decay=0.0005 +angle=0 +saturation = 1.5 +exposure = 1.5 +hue=.1 + +learning_rate=0.001 +burn_in=1000 +max_batches = 500500 +policy=steps +steps=400000,450000 +scales=.1,.1 + +mosaic=1 + +letter_box=1 + +ema_alpha=0.9998 + +#use_cuda_graph = 1 + + +# ============ Backbone ============ # + +# Stem + +# 0 +[convolutional] +batch_normalize=1 +filters=32 +size=3 +stride=1 +pad=1 +activation=mish + + +# P1 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=32 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-7 + +# Transition last + +# 10 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + + +# P2 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-13 + +# Transition last + +# 26 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + + +# P3 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-49 + +# Transition last + +# 78 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + + +# P4 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-49 + +# Transition last + +# 130 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + + +# P5 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=1024 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-25 + +# Transition last + +# 158 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=1024 +size=1 +stride=1 +pad=1 +activation=mish + +# ============ End of Backbone ============ # + +# ============ Neck ============ # + +# CSPSPP + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +### SPP ### +[maxpool] +stride=1 +size=5 + +[route] +layers=-2 + +[maxpool] +stride=1 +size=9 + +[route] +layers=-4 + +[maxpool] +stride=1 +size=13 + +[route] +layers=-1,-3,-5,-6 +### End SPP ### + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1, -13 + +# 173 (previous+6+5+2k) +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# End of CSPSPP + + +# FPN-4 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 130 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +# Merge [-1, -(2k+2)] + +[route] +layers = -1, -8 + +# Transition last + +# 189 (previous+6+4+2k) +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + + +# FPN-3 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 78 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=128 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=128 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=128 +activation=mish + +# Merge [-1, -(2k+2)] + +[route] +layers = -1, -8 + +# Transition last + +# 205 (previous+6+4+2k) +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + + +# PAN-4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=256 +activation=mish + +[route] +layers = -1, 189 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[route] +layers = -1,-8 + +# Transition last + +# 218 (previous+3+4+2k) +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + + +# PAN-5 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1, 173 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1,-8 + +# Transition last + +# 231 (previous+3+4+2k) +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# ============ End of Neck ============ # + +# ============ Head ============ # + +# YOLO-3 + +[route] +layers = 205 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=340 +activation=logistic +#activation=linear +# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet + +[yolo] +mask = 0,1,2,3 +anchors = 13,17, 31,25, 24,51, 61,45, 48,102, 119,96, 97,189, 217,184, 171,384, 324,451, 616,618, 800,800 +classes=80 +num=12 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# YOLO-4 + +[route] +layers = 218 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=340 +activation=logistic +#activation=linear +# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet + +[yolo] +mask = 4,5,6,7 +anchors = 13,17, 31,25, 24,51, 61,45, 48,102, 119,96, 97,189, 217,184, 171,384, 324,451, 616,618, 800,800 +classes=80 +num=12 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# YOLO-5 + +[route] +layers = 231 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=1024 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=340 +activation=logistic +#activation=linear +# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet + +[yolo] +mask = 8,9,10,11 +anchors = 13,17, 31,25, 24,51, 61,45, 48,102, 119,96, 97,189, 217,184, 171,384, 324,451, 616,618, 800,800 +classes=80 +num=12 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + +# ============ End of Head ============ # \ No newline at end of file diff --git a/src/yolo/models/yolov4-p6.cfg b/src/yolo/models/yolov4-p6.cfg new file mode 100644 index 00000000..9e0bb5a0 --- /dev/null +++ b/src/yolo/models/yolov4-p6.cfg @@ -0,0 +1,2298 @@ +[net] +# Testing +#batch=1 +#subdivisions=1 +# Training +batch=1 +subdivisions=1 +width=1280 +height=1280 +channels=3 +momentum=0.949 +decay=0.0005 +angle=0 +saturation = 1.5 +exposure = 1.5 +hue=.1 + +learning_rate=0.001 +burn_in=1000 +max_batches = 500500 +policy=steps +steps=400000,450000 +scales=.1,.1 + +mosaic=1 + +letter_box=1 + +ema_alpha=0.9998 + +#use_cuda_graph = 1 + + +# ============ Backbone ============ # + +# Stem + +# 0 +[convolutional] +batch_normalize=1 +filters=32 +size=3 +stride=1 +pad=1 +activation=mish + + +# P1 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=32 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=32 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-7 + +# Transition last + +# 10 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + + +# P2 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-13 + +# Transition last + +# 26 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + + +# P3 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-49 + +# Transition last + +# 78 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + + +# P4 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-49 + +# Transition last + +# 130 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + + +# P5 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=1024 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-25 + +# Transition last + +# 158 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=1024 +size=1 +stride=1 +pad=1 +activation=mish + + +# P6 + +# Downsample + +[convolutional] +batch_normalize=1 +filters=1024 +size=3 +stride=2 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Residual Block + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Transition first + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Merge [-1, -(3k+4)] + +[route] +layers = -1,-25 + +# Transition last + +# 186 (previous+7+3k) +[convolutional] +batch_normalize=1 +filters=1024 +size=1 +stride=1 +pad=1 +activation=mish + +# ============ End of Backbone ============ # + +# ============ Neck ============ # + +# CSPSPP + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +### SPP ### +[maxpool] +stride=1 +size=5 + +[route] +layers=-2 + +[maxpool] +stride=1 +size=9 + +[route] +layers=-4 + +[maxpool] +stride=1 +size=13 + +[route] +layers=-1,-3,-5,-6 +### End SPP ### + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1, -13 + +# 201 (previous+6+5+2k) +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# End of CSPSPP + + +# FPN-5 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 158 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +# Merge [-1, -(2k+2)] + +[route] +layers = -1, -8 + +# Transition last + +# 217 (previous+6+4+2k) +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + + +# FPN-4 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 130 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +# Merge [-1, -(2k+2)] + +[route] +layers = -1, -8 + +# Transition last + +# 233 (previous+6+4+2k) +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + + +# FPN-3 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 78 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=128 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=128 +activation=mish + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=128 +activation=mish + +# Merge [-1, -(2k+2)] + +[route] +layers = -1, -8 + +# Transition last + +# 249 (previous+6+4+2k) +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=mish + + +# PAN-4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=256 +activation=mish + +[route] +layers = -1, 233 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[route] +layers = -1,-8 + +# Transition last + +# 262 (previous+3+4+2k) +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=mish + + +# PAN-5 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1, 217 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1,-8 + +# Transition last + +# 275 (previous+3+4+2k) +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + + +# PAN-6 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1, 201 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# Split + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +# Plain Block + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[route] +layers = -1,-8 + +# Transition last + +# 288 (previous+3+4+2k) +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=mish + +# ============ End of Neck ============ # + +# ============ Head ============ # + +# YOLO-3 + +[route] +layers = 249 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=256 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=340 +activation=logistic +#activation=linear +# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet + +[yolo] +mask = 0,1,2,3 +anchors = 13,17, 31,25, 24,51, 61,45, 61,45, 48,102, 119,96, 97,189, 97,189, 217,184, 171,384, 324,451, 324,451, 545,357, 616,618, 1024,1024 +classes=80 +num=16 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# YOLO-4 + +[route] +layers = 262 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=512 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=340 +activation=logistic +#activation=linear +# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet + +[yolo] +mask = 4,5,6,7 +anchors = 13,17, 31,25, 24,51, 61,45, 61,45, 48,102, 119,96, 97,189, 97,189, 217,184, 171,384, 324,451, 324,451, 545,357, 616,618, 1024,1024 +classes=80 +num=16 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# YOLO-5 + +[route] +layers = 275 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=1024 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=340 +activation=logistic +#activation=linear +# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet + +[yolo] +mask = 8,9,10,11 +anchors = 13,17, 31,25, 24,51, 61,45, 61,45, 48,102, 119,96, 97,189, 97,189, 217,184, 171,384, 324,451, 324,451, 545,357, 616,618, 1024,1024 +classes=80 +num=16 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# YOLO-6 + +[route] +layers = 288 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=1024 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=340 +activation=logistic +#activation=linear +# use linear for Pytorch-Scaled-YOLOv4, and logistic for Darknet + +[yolo] +mask = 12,13,14,15 +anchors = 13,17, 31,25, 24,51, 61,45, 61,45, 48,102, 119,96, 97,189, 97,189, 217,184, 171,384, 324,451, 324,451, 545,357, 616,618, 1024,1024 +classes=80 +num=16 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + +# ============ End of Head ============ # \ No newline at end of file diff --git a/src/yolo/models/yolov4x-mish.cfg b/src/yolo/models/yolov4x-mish.cfg new file mode 100644 index 00000000..ab598f6e --- /dev/null +++ b/src/yolo/models/yolov4x-mish.cfg @@ -0,0 +1,1436 @@ +[net] +# Testing +#batch=1 +#subdivisions=1 +# Training +batch=1 +subdivisions=1 +width=640 +height=640 +channels=3 +momentum=0.949 +decay=0.0005 +angle=0 +saturation = 1.5 +exposure = 1.5 +hue=.1 + +learning_rate=0.001 +burn_in=1000 +max_batches = 500500 +policy=steps +steps=400000,450000 +scales=.1,.1 + +mosaic=1 + +letter_box=1 + +#optimized_memory=1 + +[convolutional] +batch_normalize=1 +filters=32 +size=3 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=40 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Downsample + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-13 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-34 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-34 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=1280 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-19 + +[convolutional] +batch_normalize=1 +filters=1280 +size=1 +stride=1 +pad=1 +activation=mish + +########################## 6 0 6 6 3 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +### SPP ### +[maxpool] +stride=1 +size=5 + +[route] +layers=-2 + +[maxpool] +stride=1 +size=9 + +[route] +layers=-4 + +[maxpool] +stride=1 +size=13 + +[route] +layers=-1,-3,-5,-6 +### End SPP ### + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[route] +layers = -1, -15 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 94 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[route] +layers = -1, -8 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 57 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=mish + +[route] +layers = -1, -8 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish +stopbackward=800 + +########################## + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 0,1,2 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=0 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=4.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=5 + +[route] +layers = -4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=320 +activation=mish + +[route] +layers = -1, -22 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[route] +layers = -1,-8 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 3,4,5 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=5 + +[route] +layers = -4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=640 +activation=mish + +[route] +layers = -1, -55 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[route] +layers = -1,-8 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=1280 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 6,7,8 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=0.4 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 diff --git a/src/yolo/models/yolov7x.cfg b/src/yolo/models/yolov7x.cfg new file mode 100644 index 00000000..576d8b7d --- /dev/null +++ b/src/yolo/models/yolov7x.cfg @@ -0,0 +1,1152 @@ +[net] +# Testing +#batch=1 +#subdivisions=1 +# Training +batch=1 +subdivisions=1 +width=640 +height=640 +channels=3 +momentum=0.9 +decay=0.0005 +angle=0 +saturation = 1.5 +exposure = 1.5 +hue=.1 + +learning_rate=0.00261 +burn_in=1000 + +max_batches = 2000200 +policy=steps +steps=1600000,1800000 +scales=.1,.1 + + +# 0 +[convolutional] +batch_normalize=1 +filters=40 +size=3 +stride=1 +pad=1 +activation=swish + + +# 1 +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=2 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=swish + + +# 3 +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=2 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-2 + +[convolutional] +batch_normalize=1 +filters=64 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=64 +size=3 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3,-5,-7,-9 + +# 14 +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + + +[maxpool] +size=2 +stride=2 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-3 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=2 +pad=1 +activation=swish + +# 20 +[route] +layers = -1,-4 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-2 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3,-5,-7,-9 + +# 31 +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + + +[maxpool] +size=2 +stride=2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-3 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=2 +pad=1 +activation=swish + +# 37 +[route] +layers = -1,-4 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3,-5,-7,-9 + +# 48 +[convolutional] +batch_normalize=1 +filters=1280 +size=1 +stride=1 +pad=1 +activation=swish + + +[maxpool] +size=2 +stride=2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-3 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=2 +pad=1 +activation=swish + +# 54 +[route] +layers = -1,-4 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3,-5,-7,-9 + +# 65 +[convolutional] +batch_normalize=1 +filters=1280 +size=1 +stride=1 +pad=1 +activation=swish + +################################## + +### SPPCSP ### +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +### SPP ### +[maxpool] +stride=1 +size=5 + +[route] +layers=-2 + +[maxpool] +stride=1 +size=9 + +[route] +layers=-4 + +[maxpool] +stride=1 +size=13 + +[route] +layers=-6,-5,-3,-1 +### End SPP ### + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[route] +layers = -1, -13 + +# 80 +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[upsample] +stride=2 + +[route] +layers = 48 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3 + + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3,-5,-7,-9 + +# 96 +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[upsample] +stride=2 + +[route] +layers = 31 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3 + + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-2 + +[convolutional] +batch_normalize=1 +filters=128 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=128 +size=3 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3,-5,-7,-9 + +# 112 +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + + +[maxpool] +size=2 +stride=2 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-3 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=2 +pad=1 +activation=swish + +[route] +layers = -1,-4,96 + + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-2 + +[convolutional] +batch_normalize=1 +filters=256 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=256 +size=3 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3,-5,-7,-9 + +# 129 +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + + +[maxpool] +size=2 +stride=2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-3 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=2 +pad=1 +activation=swish + +[route] +layers = -1,-4,80 + + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=swish + +[route] +layers=-2 + +[convolutional] +batch_normalize=1 +filters=512 +size=1 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=swish + +[convolutional] +batch_normalize=1 +filters=512 +size=3 +stride=1 +pad=1 +activation=swish + +[route] +layers = -1,-3,-5,-7,-9 + +# 146 +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=swish + +############################# + +# ============ End of Neck ============ # + +# ============ Head ============ # + + +# P3 +[route] +layers = 112 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=swish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +#activation=linear +activation=logistic + +[yolo] +mask = 0,1,2 +anchors = 12,16, 19,36, 40,28, 36,75, 76,55, 72,146, 142,110, 192,243, 459,401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# P4 +[route] +layers = 129 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=swish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +#activation=linear +activation=logistic + +[yolo] +mask = 3,4,5 +anchors = 12,16, 19,36, 40,28, 36,75, 76,55, 72,146, 142,110, 192,243, 459,401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 + + +# P5 +[route] +layers = 146 + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=1280 +activation=swish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +#activation=linear +activation=logistic + +[yolo] +mask = 6,7,8 +anchors = 12,16, 19,36, 40,28, 36,75, 76,55, 72,146, 142,110, 192,243, 459,401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 diff --git a/src/yolo/pretrained.jl b/src/yolo/pretrained.jl index a03e224b..7ada4309 100644 --- a/src/yolo/pretrained.jl +++ b/src/yolo/pretrained.jl @@ -1,28 +1,60 @@ const YOLO_MODELS = Dict{String, Any}( - "v2_COCO" => () -> (joinpath(models_dir(), "yolov2.cfg"), joinpath(artifact"yolov2-COCO", "yolov2-COCO.weights")), - "v2_tiny_COCO" => () -> (joinpath(models_dir(), "yolov2-tiny.cfg"), joinpath(artifact"yolov2-tiny-COCO", "yolov2-tiny-COCO.weights")), - "v3_COCO" => () -> (joinpath(models_dir(), "yolov3.cfg"), joinpath(artifact"yolov3-COCO", "yolov3-COCO.weights")), - "v3_spp_COCO" => () -> (joinpath(models_dir(), "yolov3-spp.cfg"), joinpath(artifact"yolov3-spp-COCO", "yolov3-spp-COCO.weights")), - "v3_tiny_COCO" => () -> (joinpath(models_dir(), "yolov3-tiny.cfg"), joinpath(artifact"yolov3-tiny-COCO", "yolov3-tiny-COCO.weights")), - "v4_COCO" => () -> (joinpath(models_dir(), "yolov4.cfg"), joinpath(artifact"yolov4-COCO", "yolov4-COCO.weights")), - "v4_tiny_COCO" => () -> (joinpath(models_dir(), "yolov4-tiny.cfg"), joinpath(artifact"yolov4-tiny-COCO", "yolov4-tiny-COCO.weights")), - "v7_COCO" => () -> (joinpath(models_dir(), "yolov7.cfg"), joinpath(artifact"yolov7-COCO", "yolov7-COCO.weights")), - "v7_tiny_COCO" => () -> (joinpath(models_dir(), "yolov7-tiny.cfg"), joinpath(artifact"yolov7-tiny-COCO", "yolov7-tiny-COCO.weights")), + "v2_COCO" => () -> (joinpath(models_dir(), "yolov2.cfg"), joinpath(artifact"yolov2-COCO", "yolov2-COCO.weights")), + "v2_tiny_COCO" => () -> (joinpath(models_dir(), "yolov2-tiny.cfg"), joinpath(artifact"yolov2-tiny-COCO", "yolov2-tiny-COCO.weights")), + "v3_COCO" => () -> (joinpath(models_dir(), "yolov3.cfg"), joinpath(artifact"yolov3-COCO", "yolov3-COCO.weights")), + "v3_spp_COCO" => () -> (joinpath(models_dir(), "yolov3-spp.cfg"), joinpath(artifact"yolov3-spp-COCO", "yolov3-spp-COCO.weights")), + "v3_tiny_COCO" => () -> (joinpath(models_dir(), "yolov3-tiny.cfg"), joinpath(artifact"yolov3-tiny-COCO", "yolov3-tiny-COCO.weights")), + "v4_COCO" => () -> (joinpath(models_dir(), "yolov4.cfg"), joinpath(artifact"yolov4-COCO", "yolov4-COCO.weights")), + "v4_tiny_COCO" => () -> (joinpath(models_dir(), "yolov4-tiny.cfg"), joinpath(artifact"yolov4-tiny-COCO", "yolov4-tiny-COCO.weights")), + "v4_csp_COCO" => () -> (joinpath(models_dir(), "yolov4-csp.cfg"), joinpath(artifact"yolov4-csp-COCO", "yolov4-csp-COCO.weights")), + "v4_csp_x_swish_COCO" => () -> (joinpath(models_dir(), "yolov4-csp-x-swish.cfg"), joinpath(artifact"yolov4-csp-x-swish-COCO", "yolov4-csp-x-swish-COCO.weights")), + "v4x_mish_COCO" => () -> (joinpath(models_dir(), "yolov4x-mish.cfg"), joinpath(artifact"yolov4x-mish-COCO", "yolov4x-mish-COCO.weights")), + "v4_p5_COCO" => () -> (joinpath(models_dir(), "yolov4-p5.cfg"), joinpath(artifact"yolov4-p5-COCO", "yolov4-p5-COCO.weights")), + "v4_p6_COCO" => () -> (joinpath(models_dir(), "yolov4-p6.cfg"), joinpath(artifact"yolov4-p6-COCO", "yolov4-p6-COCO.weights")), + "v7_COCO" => () -> (joinpath(models_dir(), "yolov7.cfg"), joinpath(artifact"yolov7-COCO", "yolov7-COCO.weights")), + "v7_tiny_COCO" => () -> (joinpath(models_dir(), "yolov7-tiny.cfg"), joinpath(artifact"yolov7-tiny-COCO", "yolov7-tiny-COCO.weights")), + "v7x_COCO" => () -> (joinpath(models_dir(), "yolov7x.cfg"), joinpath(artifact"yolov7x-COCO", "yolov7x-COCO.weights")), ) -function yolo_model(modelkey::String; batch=1, silent=false, w=416, h=416, dummy::Bool=false, cfgchanges=nothing, kwargs...) +# Native (training) input size, used as the default when no size is given. +# Models not listed default to 416. Note that all sizes must be an integer +# multiple of the model's largest stride: 64 for v4_p6, otherwise 32. +const MODEL_DEFAULT_SIZE = Dict{String, Int}( + "v4_csp_COCO" => 512, + "v4_csp_x_swish_COCO" => 640, + "v4x_mish_COCO" => 640, + "v4_p5_COCO" => 896, + "v4_p6_COCO" => 1280, + "v7x_COCO" => 640, +) + +function yolo_model(modelkey::String; batch=1, silent=false, w=nothing, h=nothing, dummy::Bool=false, cfgchanges=nothing, kwargs...) cfgfile, weightsfile = YOLO_MODELS[modelkey]() weightsfile = dummy ? nothing : weightsfile + default_size = get(MODEL_DEFAULT_SIZE, modelkey, 416) + w = @something w default_size + h = @something h default_size cfgchanges === nothing && (cfgchanges = [(:net, 1, :width, w), (:net, 1, :height, h)]) Yolo(cfgfile, weightsfile, batch; silent, cfgchanges, kwargs...) end const sizes = (320, 416, 608) +# Sizes for the generated fixed-size convenience constructors, e.g. v3_416_COCO. +# Models not listed get the classic (320, 416, 608). +const MODEL_CONVENIENCE_SIZES = Dict{String, Tuple{Vararg{Int}}}( + "v4_csp_COCO" => (512, 640), + "v4_csp_x_swish_COCO" => (512, 640), + "v4x_mish_COCO" => (512, 640), + "v4_p5_COCO" => (896,), + "v4_p6_COCO" => (1280,), + "v7x_COCO" => (416, 640), +) + for model_name in keys(YOLO_MODELS) @eval $(Symbol(model_name))(; kwargs...) = yolo_model($model_name; kwargs...) version = split(model_name, "_COCO")[1] - for sz in sizes + for sz in get(MODEL_CONVENIENCE_SIZES, model_name, sizes) func_name = Symbol("$(version)_$(sz)_COCO") @eval $func_name(; kwargs...) = yolo_model($model_name; w=$sz, h=$sz, kwargs...) end diff --git a/src/yolo/yolo.jl b/src/yolo/yolo.jl index cd9c8f8f..41cfe77b 100644 --- a/src/yolo/yolo.jl +++ b/src/yolo/yolo.jl @@ -51,7 +51,9 @@ end Read config file and return an array of settings """ function cfgread(file::String) - data = reverse(filter(d -> length(d) > 0 && d[1] != '#', readlines(file))) + # strip comments (whole-line and trailing) and whitespace-only lines + lines = map(l -> String(strip(first(split(l, '#')))), readlines(file)) + data = reverse(filter(!isempty, lines)) out = Array{Pair{Symbol, Dict{Symbol, Any}}, 1}(undef, 0) settings = Dict{Symbol, Any}() for row in data @@ -369,7 +371,9 @@ mutable struct Yolo <: AbstractModel cfg[:darknetversion] = VersionNumber(maj, min, subv) old_darknet = cfg[:darknetversion] < v"0.2.0" # In AlexeyAB, seen was split into seen and seen_images for more training info tracking - seen, seen_images = if old_darknet + seen, seen_images = if dummy + Int32(0), Int32(0) + elseif old_darknet reinterpret(Int32, read(weightbytes, 4*1)), 0 else reinterpret(Int32, read(weightbytes, 4*2)) diff --git a/test/maintests.jl b/test/maintests.jl index 3a85e3ad..db2b01f9 100644 --- a/test/maintests.jl +++ b/test/maintests.jl @@ -17,6 +17,28 @@ Darknet.download_defaults() const skip_models = () +# Large models are tested below their native size: darknet's loader allocates +# all layer activations eagerly at cfg size, and native 640-1280 inputs +# exhaust the memory of standard CI runners. Parity vs darknet holds at any +# valid size as long as both sides use the same one. Sizes must be divisible +# by 64 for v4_p6, 32 otherwise. +const model_test_sizes = Dict( + "v4_csp_x_swish_COCO" => 512, + "v4x_mish_COCO" => 512, + "v4_p5_COCO" => 512, + "v4_p6_COCO" => 448, +) + +# Write a copy of the cfg with width/height overridden, for the Darknet.jl side +function sized_cfgfile(cfgfile, size) + lines = readlines(cfgfile) + lines = map(l -> startswith(strip(l), "width") ? "width=$size" : + startswith(strip(l), "height") ? "height=$size" : l, lines) + tmp = joinpath(mktempdir(), basename(cfgfile)) + write(tmp, join(lines, "\n")) + return tmp +end + const testimages = ["dog-cycle-car", "dog-cycle-car_nonsquare"] const namesfile = joinpath(ObjectDetector.YOLO.models_dir(), "coco.names") const names = collect(eachline(namesfile)) @@ -33,15 +55,17 @@ include("resrefs.jl") continue end cfgfile, weightsfile = files() - @info "Testing model $modelname" + test_size = get(model_test_sizes, modelname, nothing) + @info "Testing model $modelname" test_size free_memory=Base.format_bytes(Sys.free_memory()) yolomod, net = nothing, nothing @testset "Load in Darknet.jl" begin - net = @suppress Darknet.load_network(cfgfile, weightsfile, 1) + darknet_cfg = test_size === nothing ? cfgfile : sized_cfgfile(cfgfile, test_size) + net = @suppress Darknet.load_network(darknet_cfg, weightsfile, 1) end @testset "Load in ObjectDetector.jl" begin - yolomod = YOLO.yolo_model(modelname; silent=true) + yolomod = YOLO.yolo_model(modelname; silent=true, w=test_size, h=test_size) end (yolomod === nothing || net === nothing) && continue @@ -115,7 +139,14 @@ include("resrefs.jl") julia_classid = julia_sorted[end-1, :] @test dark_classid == julia_classid end - GC.gc() + # drop references before collecting so the darknet C-side network is + # freed (via its finalizer) before the next model loads, and ask glibc + # to return freed pages to the OS: constrained CI runners otherwise + # accumulate each model's peak RSS until the runner is killed + net = nothing + yolomod = nothing + GC.gc(true) + Sys.islinux() && ccall(:malloc_trim, Cint, (Cint,), 0) end end diff --git a/test/resrefs.jl b/test/resrefs.jl index 6cd7e83b..6918bd40 100644 --- a/test/resrefs.jl +++ b/test/resrefs.jl @@ -911,6 +911,734 @@ const RES_REFS = OrderedDict{String, Matrix{Float32}}( 0.0 0.0 0.0 ], "dn_v4_COCO_dog-cycle-car_nonsquare" => Float32[0.24385601; 0.21881355; 0.59973025; 0.8213513; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.74570936; 17.0; 0.0;;], + "dn_v4_csp_COCO_dog-cycle-car" => Float32[ + 0.23672831 0.2489404 0.88226855 + 0.1643545 0.33554193 0.056424305 + 1.0015534 0.5876832 1.0 + 0.7047063 0.936442 0.21931668 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.86875194 0.9251036 0.7494078 + 2.0 17.0 3.0 + 0.0 0.0 0.0 + ], + "dn_v4_csp_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.24197 0.24768855 + 0.16388386 0.21925008 + 0.99928266 0.58673304 + 0.59408504 0.81690717 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.8798546 0.918971 + 2.0 17.0 + 0.0 0.0 + ], + "dn_v4_csp_x_swish_COCO_dog-cycle-car" => Float32[ + 0.24016273 0.2481063 0.87722814 + 0.16638252 0.33552867 0.056993663 + 0.9976722 0.587451 0.9998876 + 0.70547545 0.93611974 0.21932909 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.93356603 0.9388281 0.852484 + 2.0 17.0 3.0 + 0.0 0.0 0.0 + ], + "dn_v4_csp_x_swish_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.24147376 0.24625301 + 0.16401368 0.21862847 + 0.9964806 0.58686554 + 0.59343314 0.8173776 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.94598866 0.9460612 + 2.0 17.0 + 0.0 0.0 + ], + "dn_v4_p5_COCO_dog-cycle-car" => Float32[ + 0.23739514 0.24866743 0.8769026 + 0.17261904 0.33316612 0.056302458 + 0.99935687 0.5853943 1.0005264 + 0.710846 0.9385934 0.21888188 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.89339256 0.9132399 0.56338537 + 2.0 17.0 3.0 + 0.0 0.0 0.0 + ], + "dn_v4_p5_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.23596507 0.24676548 + 0.16425662 0.21904486 + 0.99964184 0.58512044 + 0.59502107 0.81743735 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.8755484 0.9071377 + 2.0 17.0 + 0.0 0.0 + ], + "dn_v4_p6_COCO_dog-cycle-car" => Float32[ + 0.23771845 0.24762909 0.8890191 + 0.15360807 0.3310371 0.055439062 + 1.0009738 0.58474785 1.0002402 + 0.7098813 0.93547374 0.22087754 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.9336571 0.93420595 0.71272343 + 2.0 17.0 3.0 + 0.0 0.0 0.0 + ], + "dn_v4_p6_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.23652077 0.24656196 + 0.16233112 0.21350016 + 1.001891 0.5812636 + 0.5930662 0.81794596 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.9407823 0.9214357 + 2.0 17.0 + 0.0 0.0 + ], "dn_v4_tiny_COCO_dog-cycle-car" => Float32[ 0.25264323 0.88405293 0.33418566 0.06083686 @@ -998,11 +1726,193 @@ const RES_REFS = OrderedDict{String, Matrix{Float32}}( 0.0 0.0 0.0 0.0 0.0 0.0 - 0.80551463 0.8853552 - 17.0 3.0 + 0.80551463 0.8853552 + 17.0 3.0 + 0.0 0.0 + ], + "dn_v4_tiny_COCO_dog-cycle-car_nonsquare" => Float32[0.25392982; 0.19908307; 0.61074865; 0.7779487; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.872691; 17.0; 0.0;;], + "dn_v4x_mish_COCO_dog-cycle-car" => Float32[ + 0.23657212 0.24792485 0.8789529 + 0.16864526 0.33412138 0.056311734 + 0.99924135 0.5850617 1.0000584 + 0.70772326 0.93652236 0.21952266 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.0 0.0 0.0 + 0.9136595 0.93386865 0.8129766 + 2.0 17.0 3.0 + 0.0 0.0 0.0 + ], + "dn_v4x_mish_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.23497236 0.24613734 + 0.16673112 0.21832988 + 1.0013243 0.58411396 + 0.5940895 0.8189573 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.9261854 0.93666327 + 2.0 17.0 0.0 0.0 ], - "dn_v4_tiny_COCO_dog-cycle-car_nonsquare" => Float32[0.25392982; 0.19908307; 0.61074865; 0.7779487; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.872691; 17.0; 0.0;;], "dn_v7_COCO_dog-cycle-car" => Float32[ 0.23815057 0.24645366 0.88601756 0.16355096 0.3362234 0.057299808 @@ -1367,6 +2277,188 @@ const RES_REFS = OrderedDict{String, Matrix{Float32}}( 2.0 17.0 0.0 0.0 ], + "dn_v7x_COCO_dog-cycle-car" => Float32[ + 0.10581438 0.2382752 0.24903771 0.8774168 + 0.05288111 0.16821158 0.3369066 0.05756855 + 0.21121219 0.9969164 0.5865239 0.99973583 + 0.15018466 0.7057167 0.9349489 0.21734574 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.0 0.0 0.0 0.0 + 0.742382 0.9841296 0.97393554 0.8456325 + 4.0 2.0 17.0 3.0 + 0.0 0.0 0.0 0.0 + ], + "dn_v7x_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.23744614 0.24733305 + 0.1614252 0.21510836 + 0.99694717 0.58535254 + 0.59192437 0.81698865 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.0 0.0 + 0.98285973 0.9718302 + 2.0 17.0 + 0.0 0.0 + ], "od_v2_COCO_dog-cycle-car" => Float32[ 0.18849403 0.24314502 0.8879252 0.16923633 0.31537876 0.05479352 @@ -2279,6 +3371,734 @@ const RES_REFS = OrderedDict{String, Matrix{Float32}}( 1.0 1.0 1.0 ], "od_v4_COCO_dog-cycle-car_nonsquare" => Float32[0.24385607; 0.2188136; 0.5997302; 0.82135123; 0.7500973; 0.00023252431; 0.0007803494; 6.0792013f-7; 3.4914128f-6; 6.412752f-9; 1.8743056f-7; 4.3772996f-8; 7.4116383f-7; 1.2322782f-6; 2.6664713f-8; 8.044653f-6; 2.1694233f-7; 1.8679924f-6; 2.1710104f-5; 0.000103658145; 0.0047235927; 0.7457102; 1.8176132f-5; 0.00053209177; 8.312888f-6; 7.035149f-7; 1.8633238f-5; 4.5999613f-7; 6.300148f-7; 2.9088998f-5; 2.8472394f-7; 2.7194733f-6; 6.0125495f-7; 1.2981325f-6; 9.952989f-6; 1.1205373f-6; 1.323928f-7; 5.919096f-7; 8.532816f-7; 1.08071205f-7; 1.1888196f-6; 5.0686217f-6; 1.9517968f-6; 1.1891767f-6; 9.3203937f-7; 3.6832168f-7; 3.7349594f-7; 2.229868f-7; 1.2003035f-8; 1.6744892f-7; 2.6590511f-8; 3.495714f-6; 1.11521175f-8; 1.4375114f-6; 2.672403f-8; 2.1336512f-6; 1.5169727f-8; 1.2949327f-7; 1.6064594f-5; 1.0558648f-6; 3.75138f-7; 3.0361789f-5; 2.1351434f-6; 1.4093226f-5; 2.7482984f-6; 4.40722f-6; 8.228406f-7; 3.4522238f-8; 1.14341404f-7; 2.2691232f-7; 1.3334162f-7; 3.6704287f-7; 1.3577349f-8; 5.2699335f-7; 7.38859f-7; 2.894171f-7; 4.3963263f-7; 3.789401f-7; 2.4876786f-6; 2.1359523f-7; 6.746143f-8; 2.248321f-8; 1.8635088f-5; 4.953993f-7; 4.323774f-7; 0.0; 0.7457102; 17.0; 1.0;;], + "od_v4_csp_COCO_dog-cycle-car" => Float32[ + 0.23672843 0.24894042 0.88226855 + 0.1643545 0.33554187 0.056424305 + 1.0015533 0.58768326 1.0 + 0.7047063 0.93644214 0.21931668 + 0.87448376 0.94005597 0.88047504 + 0.00033035068 0.0019605556 0.0026027255 + 0.86875206 0.00037576057 0.00051272876 + 0.00032624885 0.00043206452 0.7494077 + 0.0021595778 0.00032588464 0.0012467474 + 8.794419e-5 0.000110903195 0.0005084186 + 0.0009293113 0.0006350931 0.0018656262 + 0.0005232737 0.00019502266 0.0004736567 + 0.00012154213 0.0003932872 0.12118033 + 0.0006416694 0.00044542833 0.00059357734 + 7.6986544e-5 9.005987e-5 0.0004354362 + 0.0003331343 0.00051586074 0.0003910695 + 6.749023e-5 0.00012725168 0.00029673032 + 0.00030187485 0.00036971353 0.0008048339 + 0.004868216 0.00026812943 0.00050483685 + 0.00029296175 0.0011416101 0.00028155578 + 0.00041291997 0.005845731 0.00035588248 + 0.00038263763 0.92510384 0.0005503902 + 0.0003757586 0.0012827995 0.0005943464 + 0.00037645776 0.0018793751 0.0003570224 + 0.000109578665 0.001407069 0.0005236655 + 0.00022452865 0.00064341683 0.00042881127 + 0.00016782453 0.001692115 0.00021588357 + 0.0002468337 0.0002950397 0.00039222237 + 8.991677e-5 0.0003420899 0.00030419583 + 0.00053117936 0.0008983084 0.00053831347 + 0.00063057983 0.00018479743 0.0005820473 + 0.000269045 0.00028038162 0.0006493125 + 7.110727e-5 0.00039798734 0.00033402114 + 0.0003140289 0.00031688725 0.0005498955 + 0.00014436398 0.0016627848 0.00028252296 + 0.001184883 0.00029794098 0.0002551126 + 8.646685e-5 0.00013788046 0.00023815014 + 8.618647e-5 0.00017979665 0.00022683144 + 0.00029703838 0.00024999664 0.00033136335 + 0.00020408358 0.0001904296 0.00025096923 + 9.318976e-5 0.0002960185 0.00026093062 + 0.0006994168 0.00042884029 0.00032071848 + 0.00026236085 0.00043765892 0.00031500086 + 0.0010523146 0.00021500107 0.00033114024 + 0.00029501138 0.00041207304 0.00040608508 + 0.00026928494 0.00013848605 0.0003299631 + 8.3099025e-5 0.00025178038 0.00044887856 + 0.00018127839 0.00018622326 0.0002605878 + 6.3379746e-5 0.00013226763 0.00023659875 + 0.00011067645 0.00032995 0.00024135463 + 0.0001219488 0.00039607476 0.00057703163 + 0.00024462913 0.00017611941 0.0004187712 + 8.035386e-5 0.00011822763 0.00025747175 + 6.1744155e-5 0.00016490849 0.00026020847 + 0.00032238913 0.00019482731 0.00038230448 + 7.823035e-5 0.00026443912 0.00027913085 + 0.00045980097 0.0002147769 0.00033379655 + 0.0001256324 0.0004468747 0.00022788472 + 0.00046468253 0.00055318075 0.00028669112 + 0.00012888637 0.00031675844 0.00036653038 + 6.116673e-5 0.00028727998 0.000361938 + 0.00060940144 0.0005419918 0.0006265494 + 0.00010828422 0.0008607139 0.00044530496 + 0.0007475721 0.0002374945 0.00038956784 + 0.00029889605 0.0006883169 0.00029922774 + 0.00031574976 0.00050121814 0.0004002152 + 0.00010480366 0.00033681528 0.00031356732 + 0.00012342574 0.00037320878 0.00043797295 + 7.677006e-5 0.00027372743 0.00035469476 + 7.969188e-5 0.00014722293 0.0002542048 + 0.000117150885 0.00025639634 0.00025326182 + 0.00038497883 0.00017084116 0.00024886316 + 0.00011431801 0.00022944217 0.00035599398 + 0.00012744371 0.00014987346 0.00029321827 + 0.000261085 0.00032669745 0.00024980237 + 8.7933964e-5 0.00013040578 0.00018104538 + 0.00013209933 0.00014555185 0.00036523465 + 0.0001454102 0.00019318378 0.00030228365 + 0.00025469493 0.00018290055 0.00033980727 + 0.0011266544 0.000275424 0.00030430418 + 7.900839e-5 0.000116577525 0.00025767117 + 0.00069607876 9.164875e-5 0.0001803285 + 7.654448e-5 0.0016233784 0.00030174656 + 0.00018044443 0.0001512589 0.00021131555 + 0.00031563404 0.00021480212 0.00020152982 + 0.0 0.0 0.0 + 0.86875206 0.92510384 0.7494077 + 2.0 17.0 3.0 + 1.0 1.0 1.0 + ], + "od_v4_csp_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.24196991 0.24768855 + 0.16388391 0.21924993 + 0.9992827 0.58673304 + 0.594085 0.8169073 + 0.8825573 0.9468456 + 0.00049344735 0.0049183713 + 0.8798548 0.0004348729 + 0.00022736225 0.00048058864 + 0.0025922516 0.0003658923 + 5.561665e-5 0.00012557728 + 0.0006942937 0.0006502565 + 0.00024179765 0.00021789686 + 8.39946e-5 0.0004063087 + 0.00043572314 0.00043286846 + 5.024418e-5 9.7027725e-5 + 0.00029179233 0.0005158223 + 5.0667786e-5 0.00013999062 + 0.00041714532 0.0003838238 + 0.00085477217 0.00030583885 + 0.00039115074 0.0012095945 + 0.0006771956 0.0069534704 + 0.0021875962 0.91897106 + 0.00040052223 0.0014721268 + 0.0004788373 0.0019364612 + 9.647965e-5 0.001510128 + 0.0001418769 0.0006383567 + 0.00015075899 0.001707712 + 0.00016092564 0.00031720015 + 6.82815e-5 0.00037450544 + 0.00062999467 0.00096537196 + 0.00070200796 0.00021560129 + 0.00034552964 0.0003327936 + 4.9160633e-5 0.00045412965 + 0.00029715482 0.00033407594 + 0.0001540987 0.001595341 + 0.0012403924 0.00032027712 + 4.3716424e-5 0.00015593809 + 6.330484e-5 0.00019194056 + 0.0002750237 0.00028478738 + 0.00014426847 0.00020745902 + 4.7905844e-5 0.00031670852 + 0.0007630259 0.0004328324 + 0.00022487952 0.00046785045 + 0.0010984624 0.00024053492 + 0.0005124189 0.0004423367 + 0.00025447286 0.00016642883 + 5.2782547e-5 0.00028920293 + 0.00015815541 0.00020647787 + 3.837172e-5 0.0001478971 + 0.00013064398 0.0003524194 + 8.8925895e-5 0.000422658 + 0.00033984316 0.00019722807 + 4.6938738e-5 0.00012619006 + 3.7282316e-5 0.00018920895 + 0.00033385347 0.00021069737 + 5.0489525e-5 0.0002773765 + 0.00030928873 0.00023237131 + 8.470507e-5 0.00044314342 + 0.0003800721 0.0006598882 + 0.00010666518 0.00034919434 + 3.7487487e-5 0.00032476618 + 0.0003583653 0.0006487326 + 8.345123e-5 0.0009544628 + 0.0010473679 0.00026784133 + 0.00022182922 0.0007689399 + 0.00021209783 0.0005875553 + 7.654412e-5 0.00035940786 + 9.143486e-5 0.0004012088 + 4.7744394e-5 0.00031468776 + 4.987165e-5 0.00016219498 + 0.00011026516 0.00028638315 + 0.00027500142 0.00019476635 + 7.828932e-5 0.00024912297 + 7.744972e-5 0.00016695318 + 0.00023210546 0.00035274896 + 6.406744e-5 0.00013981678 + 9.6397715e-5 0.00016528892 + 0.00012595695 0.00022075797 + 0.00024801484 0.00020507563 + 0.0009960344 0.00030131155 + 6.2689935e-5 0.00013150567 + 0.00071272044 0.00010621943 + 7.5291435e-5 0.0018193175 + 0.00017478371 0.0001672899 + 0.0003637112 0.00024127681 + 0.0 0.0 + 0.8798548 0.91897106 + 2.0 17.0 + 1.0 1.0 + ], + "od_v4_csp_x_swish_COCO_dog-cycle-car" => Float32[ + 0.24016291 0.24810632 0.8772281 + 0.16638246 0.33552867 0.056993708 + 0.997672 0.5874509 0.9998876 + 0.70547557 0.93611974 0.21932907 + 0.9346156 0.9454982 0.90647346 + 8.751066e-5 0.00035416495 0.0003116546 + 0.93356735 4.664666e-5 5.7961253e-5 + 2.0766305e-5 1.424201e-5 0.85248405 + 0.00034000102 6.566586e-6 0.00017355503 + 5.8710015e-7 4.5306365e-7 3.9595685e-5 + 7.710314e-5 5.566791e-6 0.0006551146 + 7.6140022e-6 1.4589745e-7 5.5586886e-5 + 4.7119065e-6 9.8112305e-6 0.07093309 + 4.8553637e-5 1.4937904e-5 5.3522956e-5 + 4.5658176e-6 1.8673502e-6 1.4998822e-5 + 0.00019626945 2.8736165e-5 1.2695676e-5 + 3.3825138e-5 1.3117912e-6 2.1361533e-5 + 5.550069e-5 1.3633692e-5 0.00013343581 + 0.00018386867 3.6173005e-5 9.262437e-5 + 9.9212475e-6 0.00021693013 1.8780087e-6 + 1.9661768e-5 0.0047499305 2.541928e-6 + 0.0006470842 0.93882775 1.0808407e-5 + 0.00012365208 0.00015737065 2.0545478e-5 + 7.032996e-5 0.00025522654 8.9658126e-5 + 5.5787656e-5 0.00022790802 4.6473404e-5 + 3.5252077e-7 5.414058e-5 7.311189e-5 + 9.570548e-7 0.00032373378 5.7991597e-6 + 1.8153245e-5 4.784328e-6 5.1195322e-5 + 2.5838658e-6 2.2652146e-5 2.6660623e-6 + 0.00024391107 7.8611585e-5 3.099069e-5 + 2.849688e-5 1.0947672e-6 3.2823842e-5 + 0.000116580435 1.4938089e-5 1.8453318e-5 + 1.2839658e-5 1.8671042e-5 6.694066e-7 + 5.9343864e-5 3.1197167e-5 2.0522957e-5 + 5.3153763e-5 0.00012083214 1.4475083e-5 + 0.0002922525 9.624953e-6 2.5869904e-6 + 1.2727534e-5 8.8859415e-6 7.0880924e-6 + 1.5229774e-5 1.1574256e-5 2.6607888e-5 + 4.6833702e-5 9.581451e-6 3.2858595e-6 + 2.0914309e-5 7.896865e-6 1.384495e-5 + 3.4686702e-5 1.6542454e-5 2.8779205e-6 + 0.00025527048 0.0001359531 1.0630778e-5 + 7.75142e-5 5.535944e-5 2.2838889e-5 + 0.00051264977 7.250474e-6 1.7606717e-5 + 2.7038017e-5 1.1691716e-5 4.5060583e-6 + 0.00016847531 4.05818e-6 4.276411e-6 + 1.7932178e-5 2.3955158e-6 5.549219e-5 + 4.625871e-5 7.8502893e-7 3.5376522e-6 + 2.7182198e-6 1.5874169e-6 1.4979511e-6 + 1.4684717e-5 2.8424527e-6 1.0678189e-5 + 1.7498829e-7 1.8531047e-6 0.0001058762 + 2.080115e-5 1.43639645e-5 2.8512197e-6 + 1.40080965e-5 2.4864303e-6 3.4413933e-6 + 2.1030637e-7 7.01155e-6 4.2929713e-7 + 5.203604e-6 1.5558749e-6 5.037167e-6 + 1.5419806e-6 2.6706678e-6 3.9824445e-6 + 3.9838455e-6 4.808274e-6 7.7238684e-7 + 9.6298e-7 3.0473053e-5 1.0407344e-6 + 0.0010533184 8.136132e-5 1.6263128e-7 + 8.749224e-7 3.233175e-5 2.3322384e-5 + 4.610607e-7 8.530695e-6 1.2708293e-6 + 0.0002066728 5.6848843e-5 3.9364742e-5 + 2.7772164e-6 6.343899e-5 4.140346e-5 + 0.00025938326 3.9306775e-5 1.2097992e-5 + 5.1825164e-6 6.117738e-5 4.0596587e-6 + 1.7424618e-5 7.0140645e-6 1.2612541e-5 + 1.08631156e-7 4.9856e-6 1.2621061e-5 + 7.513895e-7 5.0435265e-6 4.4722623e-5 + 2.6628932e-6 1.4340588e-5 4.5868323e-6 + 4.544185e-6 3.7409186e-6 1.3943771e-5 + 2.2879285e-6 1.33518015e-5 7.4352347e-6 + 0.00015726354 1.8570144e-6 4.8349943e-6 + 9.490492e-7 3.9611723e-6 1.7842036e-5 + 3.5281475e-6 2.9719463e-6 2.2494614e-5 + 8.944633e-5 9.940512e-6 5.2510272e-6 + 2.0082638e-5 3.9110637e-6 6.6264565e-6 + 2.1695158e-5 7.490178e-6 3.0318433e-5 + 1.5869997e-5 1.2060121e-5 6.419319e-6 + 3.543544e-6 5.307136e-6 3.4447855e-6 + 0.0001389388 2.3377665e-6 2.9749467e-6 + 5.493673e-6 1.0139369e-6 6.5400873e-6 + 6.257738e-5 2.4406206e-6 1.2019127e-6 + 6.4027194e-7 0.0001167192 4.79362e-7 + 5.1915693e-5 9.962454e-6 2.4551064e-6 + 1.7803732e-5 1.1223732e-5 4.3548616e-6 + 0.0 0.0 0.0 + 0.93356735 0.93882775 0.85248405 + 2.0 17.0 3.0 + 1.0 1.0 1.0 + ], + "od_v4_csp_x_swish_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.24147382 0.24625319 + 0.16401365 0.2186284 + 0.9964807 0.58686537 + 0.59343314 0.8173777 + 0.94876754 0.9520253 + 0.00018311436 0.00041660672 + 0.94598866 6.469958e-5 + 5.3361557e-5 1.8659275e-5 + 0.0005253417 9.339045e-6 + 1.1881132e-6 3.2831042e-7 + 0.00031820784 6.227873e-6 + 1.4036483e-5 1.7565286e-7 + 7.639303e-6 1.091612e-5 + 8.602485e-5 1.5203756e-5 + 7.3673314e-6 2.1773742e-6 + 0.00013392454 3.722482e-5 + 4.9000428e-5 1.2567194e-6 + 5.906201e-5 1.4456381e-5 + 0.00026534204 3.4514673e-5 + 1.5349906e-5 0.000159151 + 3.385628e-5 0.0031602494 + 0.0010524043 0.9460608 + 0.00016728074 0.000175285 + 2.8316434e-5 0.00021767091 + 4.741463e-5 0.00022220108 + 5.219549e-7 4.588179e-5 + 1.6279238e-6 0.0002999262 + 1.91713e-5 4.4655453e-6 + 5.476404e-6 1.8297e-5 + 0.00050982914 0.000118257114 + 8.7960856e-5 1.1375765e-6 + 0.00016752991 1.982019e-5 + 2.7540924e-5 2.2279259e-5 + 0.00018588343 5.298933e-5 + 8.773543e-5 0.00012624932 + 0.0004923383 1.0574682e-5 + 1.6916025e-5 9.918968e-6 + 1.8985249e-5 1.2393938e-5 + 9.4472656e-5 1.2314035e-5 + 3.6740053e-5 8.990976e-6 + 4.0010033e-5 1.8377932e-5 + 0.00053132646 0.00013337372 + 0.00012029766 5.302936e-5 + 0.0009819549 7.6243846e-6 + 2.5147054e-5 1.2344759e-5 + 0.0001216169 3.814282e-6 + 9.17579e-6 2.4317683e-6 + 4.6601956e-5 7.940379e-7 + 3.1325872e-6 1.5461638e-6 + 1.183964e-5 2.5054198e-6 + 2.8906277e-7 1.7947241e-6 + 1.9827725e-5 1.43348025e-5 + 1.1864925e-5 2.7391363e-6 + 2.329084e-7 5.9769295e-6 + 5.3093563e-6 1.5154055e-6 + 1.5574285e-6 2.5431734e-6 + 4.5768847e-6 5.24224e-6 + 1.3219844e-6 3.662358e-5 + 0.0008522714 7.968615e-5 + 1.1796523e-6 2.880451e-5 + 6.662935e-7 8.937239e-6 + 0.0001866546 8.189689e-5 + 4.291819e-6 7.8923025e-5 + 0.00027664888 4.0516297e-5 + 1.2176352e-5 6.687013e-5 + 2.0356363e-5 6.458705e-6 + 1.7543901e-7 4.5286397e-6 + 2.5904353e-6 4.8245374e-6 + 3.8758512e-6 1.489649e-5 + 5.335807e-6 3.5193727e-6 + 3.6807392e-6 1.3148213e-5 + 0.00023370239 1.6703004e-6 + 1.7725122e-6 4.2791594e-6 + 4.8021625e-6 2.6913776e-6 + 9.387163e-5 1.165199e-5 + 2.2319955e-5 3.978625e-6 + 2.1708402e-5 6.3178563e-6 + 1.8955001e-5 1.2991352e-5 + 7.2863136e-6 5.2287446e-6 + 0.00028657707 2.3538375e-6 + 5.63704e-6 9.244105e-7 + 9.322729e-5 2.3261173e-6 + 1.0099247e-6 0.00014346198 + 6.101417e-5 9.787809e-6 + 1.8204124e-5 1.1020091e-5 + 0.0 0.0 + 0.94598866 0.9460608 + 2.0 17.0 + 1.0 1.0 + ], + "od_v4_p5_COCO_dog-cycle-car" => Float32[ + 0.2373952 0.24866748 0.8769026 + 0.17261907 0.33316618 0.056302443 + 0.999357 0.58539426 1.0005264 + 0.71084595 0.9385933 0.21888189 + 0.9046831 0.92537135 0.8972949 + 0.0012955839 0.0012637558 0.001631913 + 0.8933926 0.00013774911 0.0003123967 + 0.00042061415 0.00020474083 0.5633861 + 0.0018520129 0.00016309408 0.0009168957 + 0.00014822863 1.6656135e-5 0.00031226658 + 0.0008070127 0.0005122698 0.0038488577 + 0.00035656357 1.18578455e-5 0.00043074094 + 6.338191e-5 0.00033351587 0.33075413 + 0.0002366753 0.00021572757 0.00043412138 + 9.7937685e-5 0.00020586088 0.00027017572 + 0.00040423224 0.00022447636 0.00023545772 + 0.00037274262 6.348609e-5 0.00025477176 + 0.00014813525 0.00010146374 0.0005747593 + 0.00054933823 0.00013515347 0.00045237524 + 0.00013246595 0.00047325515 0.00017437068 + 0.0007066816 0.0032472683 0.00020607917 + 0.0005090062 0.9132398 0.00039229976 + 0.0006202292 0.0007833481 0.00029948557 + 0.00045493795 0.00065154117 0.0002584777 + 0.00030327166 0.0007783974 0.00037532084 + 4.9502883e-5 0.00017793424 0.00036746953 + 0.00028056584 0.00094690296 0.00015143692 + 2.2931838e-5 0.00019562055 0.00023006002 + 3.912887e-5 0.00024670878 0.00023413313 + 0.0006977613 0.00037836883 0.0003460152 + 0.0005502946 3.062925e-5 0.00033048334 + 0.00023957697 0.000101738995 0.00040864322 + 0.000100154364 0.00020108798 0.00022922014 + 0.0003952067 0.00018460416 0.00034354333 + 4.4780063e-5 0.00060056354 0.00020550641 + 0.00065594295 6.73415e-5 0.00018557554 + 3.6913498e-5 0.0001310913 0.0001378102 + 2.9727558e-5 8.9635534e-5 0.00015548317 + 3.194715e-5 0.00015208528 0.00022586469 + 8.1664e-5 4.5177716e-5 0.0001747295 + 5.0562103e-5 0.00013805919 0.00014973286 + 0.0004270533 0.00028818077 0.00025414609 + 0.00042100443 0.00013535196 0.00022006867 + 0.00080180727 0.00011746068 0.00020439064 + 0.0002567983 0.00013370924 0.00034845513 + 0.00021210246 0.00014588384 0.0001826536 + 5.2899224e-5 0.00025756538 0.00048065555 + 0.0003525623 9.405107e-5 0.00018380156 + 2.5824535e-5 8.1311366e-5 0.00017752829 + 8.0241254e-5 0.00013781259 0.00023705768 + 6.473998e-5 0.0001229363 0.00039101727 + 0.00030993586 0.00013649042 0.00022549844 + 8.35821e-5 2.917647e-5 0.00014795824 + 3.1180618e-5 0.00038429658 0.00025757708 + 0.00016284345 0.00021417695 0.00024244032 + 6.72322e-5 4.478241e-5 0.0001293501 + 3.1501975e-5 4.8090453e-5 0.00013335337 + 0.00016862428 0.00015919776 0.00018237653 + 0.0006048957 0.00043781585 0.00018802058 + 9.7073076e-5 7.3378105e-5 0.00020935341 + 5.2490195e-6 0.000119759396 0.0002221026 + 0.0006542614 0.00028495505 0.0005943642 + 0.00012430959 0.00064002053 0.00038131294 + 0.0003272899 0.00020961522 0.00032484517 + 0.00015582617 0.00040277973 0.0002199988 + 0.00043480602 0.00017111455 0.0002912484 + 3.31938e-5 0.0002246967 0.00029129093 + 0.000100196776 0.00012362964 0.00029577108 + 1.8190149e-5 0.00014386933 0.00034209577 + 4.3498647e-5 5.7204685e-5 0.00015907426 + 4.4134096e-5 0.00020753051 0.00015781398 + 0.0003443765 4.372843e-5 0.00014749382 + 2.1117017e-5 8.8140114e-5 0.00025267186 + 3.2826374e-5 0.00015437709 0.00023868444 + 9.766518e-5 6.6172855e-5 0.00019737508 + 3.578391e-5 6.187093e-5 0.00014417911 + 5.654177e-5 0.00014538836 0.00021481466 + 0.00017708623 7.926006e-5 0.000254554 + 0.0002646764 0.00010925607 0.00027661264 + 0.00058008527 9.355527e-5 0.00023136706 + 9.130413e-5 1.9151508e-5 0.00018502536 + 0.00025803348 2.2722013e-5 0.000133324 + 4.2638356e-5 0.001247194 0.00019949923 + 0.0001167444 7.278143e-5 0.00014078508 + 0.00017830323 0.0001149274 0.00014668667 + 0.0 0.0 0.0 + 0.8933926 0.9132398 0.5633861 + 2.0 17.0 3.0 + 1.0 1.0 1.0 + ], + "od_v4_p5_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.23596534 0.24676552 + 0.1642566 0.21904492 + 0.99964154 0.58512044 + 0.595021 0.8174373 + 0.8865823 0.92205405 + 0.0013398507 0.0016840252 + 0.87554854 0.00014556409 + 0.00046000688 0.00021203162 + 0.0023541409 0.00018715621 + 0.00011922738 1.8322246e-5 + 0.0012326697 0.00046555058 + 0.00032476868 1.369406e-5 + 7.747578e-5 0.00034692002 + 0.0003506926 0.00021806572 + 0.0001092058 0.00020693804 + 0.0004802849 0.00024271141 + 0.00032080972 6.4838365e-5 + 0.00015397255 0.0001037246 + 0.000630771 0.00014552953 + 0.00013960124 0.00050989486 + 0.00040861816 0.0039257803 + 0.00073604006 0.907138 + 0.000829536 0.00084860553 + 0.00045192795 0.00066075026 + 0.00029226087 0.00085571967 + 5.6099118e-5 0.000190764 + 0.00026219303 0.0010008407 + 1.8832581e-5 0.00021259721 + 3.9946295e-5 0.0002670832 + 0.00076345674 0.00039114896 + 0.0005212717 3.432519e-5 + 0.00023563641 0.000110217276 + 8.9229965e-5 0.00020844837 + 0.00049775845 0.00019255522 + 4.7594684e-5 0.0006065644 + 0.00078423304 7.041761e-5 + 3.905955e-5 0.00013678966 + 2.993905e-5 9.344987e-5 + 3.8906128e-5 0.00015378908 + 0.000100734986 4.9056773e-5 + 5.8348953e-5 0.00014718785 + 0.00051519123 0.0002956033 + 0.000520533 0.00013946404 + 0.000796516 0.000119110664 + 0.00022630222 0.00014089962 + 0.00020406683 0.0001537907 + 4.6769466e-5 0.00026352162 + 0.00038945154 9.806984e-5 + 2.6189957e-5 8.543078e-5 + 8.615098e-5 0.00014567113 + 6.37067e-5 0.00013126226 + 0.00029719816 0.00014648569 + 7.014794e-5 3.1880034e-5 + 2.7734275e-5 0.00041792786 + 0.00017939467 0.00021500916 + 5.999562e-5 4.7417125e-5 + 3.0746436e-5 5.2787964e-5 + 0.0001763935 0.00016999239 + 0.0004673823 0.00045346154 + 7.8049045e-5 7.9449535e-5 + 5.050623e-6 0.00013242729 + 0.00086742174 0.0003142287 + 0.00011237256 0.0006403522 + 0.00031388205 0.00022031607 + 0.00016419453 0.0004464532 + 0.00037827383 0.00019920706 + 3.3994053e-5 0.00024339661 + 9.931755e-5 0.00012809588 + 1.71926e-5 0.00015261081 + 4.2445146e-5 6.114176e-5 + 3.968457e-5 0.00021887934 + 0.00031570275 4.685914e-5 + 2.3330409e-5 9.222651e-5 + 3.3723667e-5 0.0001535637 + 0.00011211324 7.2502895e-5 + 3.5254783e-5 6.51023e-5 + 4.9982133e-5 0.0001528138 + 0.00019238396 8.1380866e-5 + 0.0002659541 0.00011366532 + 0.00057765335 9.825143e-5 + 8.474231e-5 2.120568e-5 + 0.00023948925 2.5267198e-5 + 4.239106e-5 0.0013627615 + 0.000112028814 7.757499e-5 + 0.00016711815 0.00012219774 + 0.0 0.0 + 0.87554854 0.907138 + 2.0 17.0 + 1.0 1.0 + ], + "od_v4_p6_COCO_dog-cycle-car" => Float32[ + 0.23771825 0.24762909 0.8890191 + 0.15360805 0.3310371 0.055439055 + 1.0009739 0.58474785 1.0002403 + 0.7098813 0.93547386 0.22087756 + 0.9369106 0.9449012 0.8395314 + 0.00068220333 0.0015520762 0.0006887403 + 0.9336575 0.0004300332 0.00022947216 + 0.000397325 0.00020788018 0.7127235 + 0.00231574 0.00019836568 0.0003738559 + 0.00010623303 0.000116747986 0.0003297732 + 0.00051758613 0.00029258884 0.0017189827 + 0.0003516659 0.000110556684 0.00026535496 + 0.00010962322 0.00018312596 0.14958327 + 0.00022395472 0.00016974832 0.0002645338 + 8.471058e-5 0.00012552858 0.00017661284 + 0.00041509126 0.00041932435 0.00012778373 + 0.00021747425 0.00012579351 0.00022813494 + 0.0001673672 0.00016586029 0.00031262683 + 0.0007220064 0.0002079232 0.0002522763 + 0.00016549826 0.000619534 0.00015692874 + 0.00020571661 0.006895059 0.00010367486 + 0.00036102862 0.93420595 0.00014467066 + 0.00040794406 0.0010612743 0.00020917271 + 0.0002959092 0.0012064688 0.0003458049 + 8.7969915e-5 0.0010966798 0.00025180966 + 0.00016564177 0.00037727773 0.0001303136 + 8.817896e-5 0.0011773614 0.0001189214 + 0.00041996277 0.00024356265 0.00015486804 + 0.00011319876 0.00026642295 0.00011766676 + 0.0003166425 0.0005512971 0.00027626342 + 0.00043526478 9.7666314e-5 0.00021614671 + 0.00027182058 0.00022660267 0.0001962902 + 6.16797e-5 0.00022278746 0.00014414825 + 0.00029044884 0.00032574442 0.00024601386 + 0.00012275456 0.00086699985 0.00022389002 + 0.00092871074 0.00015329725 0.00012535545 + 6.832215e-5 0.00015103155 0.00013017375 + 6.256151e-5 0.00014934444 0.00022356538 + 0.00014485173 0.00024232022 0.00034070623 + 0.00010234462 0.00012473344 0.00015725331 + 9.586072e-5 0.00039069462 0.00021658425 + 0.00046298423 0.000460643 0.0001612672 + 0.00024445757 0.00031018828 0.00012150073 + 0.00046482883 0.00015193532 0.00014096571 + 0.00025425118 0.0003201682 0.0003613043 + 0.00018795411 0.00016174867 0.00019720638 + 0.00017715928 0.00024234217 0.00042097596 + 0.00068102824 0.00023874501 0.00015267216 + 5.6196488e-5 0.00010006171 0.00013343163 + 0.00017298784 0.00016129248 0.00015772182 + 0.00011534157 0.00019943605 0.0003052654 + 0.00036021404 0.00034210022 0.00010746106 + 4.8399135e-5 0.00011028914 0.00015804866 + 5.64912e-5 0.00059698336 0.00011138456 + 0.0005902863 0.00014842422 0.00014780625 + 6.2382016e-5 0.00013118671 0.0001609463 + 0.000116387506 9.999514e-5 0.00010688671 + 0.00011827367 0.00047872504 8.848882e-5 + 0.00026735995 0.0005421929 0.00010763478 + 0.00013842825 9.882481e-5 0.00034478895 + 6.323882e-5 0.00030992666 0.00013835503 + 0.00046933242 0.0003354755 0.00037292033 + 9.502332e-5 0.00032580187 0.00020647321 + 0.0005127439 0.00051488547 0.00022415274 + 0.00020218414 0.00038424964 0.00012915215 + 0.00042706836 0.00020945532 0.00013576406 + 7.8086945e-5 0.00024495134 0.00016133503 + 9.999733e-5 0.0001063064 0.00025194438 + 7.533852e-5 0.00020353789 0.00019484902 + 8.6271786e-5 0.00013142396 0.0002060673 + 6.0403887e-5 0.00018969491 0.00018410469 + 0.00025083002 0.00015670681 0.00014179222 + 8.738299e-5 0.00020540283 0.00031372058 + 0.00036197927 0.00042409034 0.00013265033 + 0.0002530693 0.00014078605 9.873733e-5 + 8.795213e-5 0.00016052749 0.00011030719 + 0.0002344223 0.00013401429 0.00013779839 + 9.350229e-5 0.00013446783 0.00013541266 + 0.00022947145 0.00017893089 0.0003001364 + 0.000297341 0.00017609872 0.0002862014 + 0.00010191019 9.2963e-5 0.00020160315 + 0.00044494437 0.0001029081 8.813966e-5 + 4.1342853e-5 0.0012656564 0.00010583448 + 0.00011531594 0.00014743599 0.00010575419 + 0.00017242515 0.00019710364 0.00016442973 + 0.0 0.0 0.0 + 0.9336575 0.93420595 0.7127235 + 2.0 17.0 3.0 + 1.0 1.0 1.0 + ], + "od_v4_p6_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.23652086 0.24656196 + 0.1623311 0.21350014 + 1.001891 0.5812636 + 0.5930662 0.81794596 + 0.953783 0.93233824 + 0.002303645 0.0016426711 + 0.94078207 0.00023081101 + 0.00067298656 0.00015931562 + 0.003138023 0.00010789245 + 0.00013968284 3.4211662e-5 + 0.0007736569 6.899124e-5 + 0.00044525624 4.3793378e-5 + 0.00017024628 0.00016027111 + 0.00029313727 0.00034872012 + 0.00013867054 5.119016e-5 + 0.0006803995 0.00022847527 + 0.00028870924 6.915888e-5 + 0.0002997452 6.382039e-5 + 0.0015229882 0.00020117614 + 0.00028117545 0.0007954987 + 0.00033577794 0.0054540304 + 0.0006138899 0.92143565 + 0.00055188197 0.000836745 + 0.00036505776 0.0009777249 + 0.0001211872 0.0007457598 + 0.00022812391 0.00032810617 + 0.00013422924 0.00076453126 + 0.00035870224 0.00013875273 + 0.00018197075 0.00016828126 + 0.00065832864 0.00024338889 + 0.0006677075 6.8883695e-5 + 0.00072180934 0.00013308317 + 9.591047e-5 0.000118119984 + 0.0004506075 0.00025630285 + 0.00019029275 0.00027895573 + 0.0010328599 0.00018697408 + 0.00011071762 9.474263e-5 + 0.000103060935 0.00013242872 + 0.0001957817 6.039178e-5 + 0.00016446387 6.52696e-5 + 0.00013598491 0.0002596921 + 0.0007095752 0.0002924702 + 0.00035340045 0.0003027892 + 0.0006336851 7.721553e-5 + 0.00052174757 0.00017802916 + 0.00024783346 9.496052e-5 + 0.00031181407 0.00012664105 + 0.00075772917 7.08569e-5 + 0.000106802574 5.563495e-5 + 0.00031536302 8.655341e-5 + 0.00022385859 0.00017795857 + 0.0005231222 0.00025415514 + 8.402977e-5 9.5997166e-5 + 9.60364e-5 0.00037054447 + 0.00070135563 9.066917e-5 + 9.4873496e-5 2.1130118e-5 + 0.00015939969 5.9011516e-5 + 0.00018667338 0.0001403914 + 0.0003780949 0.0001549901 + 0.00018045132 0.00011215489 + 9.647956e-5 0.0001625926 + 0.00092717126 0.00034799482 + 0.00016233517 0.00037499223 + 0.0007172811 0.00016110307 + 0.00029170705 0.00042745052 + 0.0008229617 7.74688e-5 + 0.00013239116 0.000103379585 + 0.00014469492 0.00014110444 + 0.00013703587 0.00015982306 + 0.00013474951 7.344627e-5 + 9.992796e-5 0.000108299486 + 0.0002568267 5.2847456e-5 + 0.00015903564 8.772126e-5 + 0.0004567596 7.762587e-5 + 0.000315833 8.359147e-5 + 0.00013546231 6.684268e-5 + 0.00027050354 4.3034233e-5 + 0.0001459658 8.805146e-5 + 0.0004216512 0.000121007964 + 0.0004161556 8.720516e-5 + 0.00014654902 8.812781e-5 + 0.000602872 7.7219505e-5 + 7.5944976e-5 0.0011747329 + 0.00016336031 5.580679e-5 + 0.00026690727 7.909716e-5 + 0.0 0.0 + 0.94078207 0.92143565 + 2.0 17.0 + 1.0 1.0 + ], "od_v4_tiny_COCO_dog-cycle-car" => Float32[ 0.25264323 0.88405305 0.33418563 0.06083685 @@ -2371,6 +4191,188 @@ const RES_REFS = OrderedDict{String, Matrix{Float32}}( 1.0 1.0 ], "od_v4_tiny_COCO_dog-cycle-car_nonsquare" => Float32[0.2539299; 0.19908333; 0.61074865; 0.7779485; 0.885034; 8.018394f-6; 0.00012812295; 0.0008370466; 6.5234335f-6; 2.3423543f-6; 1.5642835f-6; 1.8780679f-7; 6.12936f-5; 0.0002469004; 5.508887f-7; 2.6336352f-7; 6.303524f-6; 3.7316563f-6; 0.00019138154; 9.534192f-6; 0.004068276; 0.87269115; 9.03528f-6; 6.5147356f-6; 1.0823026f-5; 3.5724503f-7; 1.3758284f-5; 1.967107f-6; 7.409454f-7; 0.0023256599; 2.7227557f-5; 0.0003673656; 2.642379f-6; 0.0047195167; 1.5202914f-5; 2.7782043f-8; 7.660662f-8; 3.525224f-6; 2.9226783f-7; 4.660468f-8; 6.115468f-7; 3.920959f-6; 2.237545f-6; 6.584367f-6; 8.322705f-6; 3.3556702f-7; 6.3410596f-8; 4.8931266f-8; 5.374632f-7; 3.6472862f-8; 3.4451386f-6; 2.4351243f-7; 6.808317f-7; 1.2721725f-6; 1.9497437f-8; 1.2986773f-7; 6.6764795f-7; 1.1044616f-7; 3.8099515f-6; 4.5612828f-7; 6.6059437f-7; 0.00053603936; 0.00013236573; 1.6922503f-6; 0.00016953715; 5.751094f-5; 2.705995f-5; 3.4457137f-6; 3.0019759f-5; 2.7318265f-6; 9.110978f-8; 3.637514f-6; 6.505787f-8; 1.549414f-6; 9.1509355f-7; 1.04915325f-5; 5.2181367f-5; 2.1398773f-6; 4.3863997f-6; 4.939826f-8; 5.304777f-7; 6.0424576f-8; 2.1450337f-7; 1.2874827f-6; 6.3505095f-9; 0.0; 0.87269115; 17.0; 1.0;;], + "od_v4x_mish_COCO_dog-cycle-car" => Float32[ + 0.23657206 0.24792479 0.8789529 + 0.16864517 0.33412123 0.05631177 + 0.9992415 0.5850617 1.0000584 + 0.70772326 0.9365225 0.21952261 + 0.9206337 0.9437476 0.9044884 + 0.00051682757 0.0013179198 0.0024153308 + 0.9136594 0.00039703015 0.0005150743 + 0.00025440686 0.0003356601 0.812976 + 0.0013566276 0.0001494199 0.0010622999 + 3.7329813e-5 5.674678e-5 0.00040191636 + 0.00040081193 0.00043335604 0.0018713506 + 0.00034402203 4.561434e-5 0.0005277079 + 6.814547e-5 0.0002977933 0.08395742 + 0.00019526902 0.00015958506 0.0005310342 + 0.00015938713 3.8960512e-5 0.0003624963 + 0.00037328436 0.00041412213 0.000317542 + 0.00021762997 0.000112846225 0.0002956833 + 0.00026317063 0.00024079942 0.0008220622 + 0.0018096686 0.00013689445 0.0006790801 + 0.00029909064 0.0007564028 0.00025994694 + 0.00051266025 0.0067316396 0.00029780905 + 0.00048279492 0.9338685 0.00040717013 + 0.0005239348 0.0009410704 0.0005519479 + 0.0005951096 0.0012901941 0.00046484024 + 0.00015098626 0.0011659908 0.00043372935 + 1.7040853e-5 0.00019543747 0.0003623132 + 6.737749e-5 0.0011263846 0.00026535257 + 6.103839e-5 0.00013831626 0.00038668426 + 2.6718239e-5 0.0002850776 0.00026152795 + 0.00067539467 0.00063608016 0.00051599636 + 0.00051714666 4.1545423e-5 0.0005642816 + 0.00031054358 0.00013861252 0.0006019972 + 6.044836e-5 0.0004226425 0.00031325224 + 0.00035557905 0.00024344698 0.00035402272 + 8.653539e-5 0.0012678157 0.00026451275 + 0.001045111 0.00012496795 0.00021271757 + 2.0902551e-5 0.00014013285 0.00022133203 + 3.1388117e-5 0.0002420322 0.0002495626 + 2.4920982e-5 0.00012710909 0.0002675979 + 0.00012912642 0.0001165711 0.0002587677 + 6.3438485e-5 0.00011900265 0.0001992093 + 0.00041347044 0.00061650516 0.0003316329 + 0.000886351 0.00034339447 0.00034429843 + 0.0012793393 0.00026301417 0.00030988306 + 0.00065710646 0.00026464037 0.00038969828 + 9.434402e-5 0.00022978078 0.00028396875 + 3.1492153e-5 0.00016190957 0.00056338526 + 0.0006460204 8.929563e-5 0.00021910472 + 2.318217e-5 7.155103e-5 0.0002792974 + 0.00017288192 9.928272e-5 0.00023846336 + 3.7367463e-5 0.00015025241 0.00049695873 + 0.00044054986 0.00013187059 0.0003041447 + 3.0926625e-5 7.870074e-5 0.00041465092 + 7.3261435e-5 0.00033796843 0.00023484764 + 0.00048487942 0.0002815764 0.00029147885 + 0.00010902534 0.000150782 0.00022421769 + 4.4990415e-5 0.00016080674 0.0002250562 + 0.00039517917 0.0010546941 0.00024037003 + 0.00029670642 0.0007225577 0.00033912712 + 2.6460993e-5 8.788856e-5 0.00036381546 + 1.1588892e-5 0.00010345218 0.0002789893 + 0.0008217574 0.00043331704 0.0007369755 + 2.6834474e-5 0.00053308514 0.0004620519 + 0.0004905261 0.00026337602 0.00037269027 + 0.0001179333 0.00056346174 0.00027279797 + 0.00034556777 0.0002452878 0.00046313042 + 4.3414493e-5 0.00029793783 0.0003124657 + 0.00012649239 0.00026167283 0.0003992647 + 2.4581048e-5 0.00020609723 0.00029910225 + 5.136331e-5 0.00015165478 0.00023803291 + 1.6924343e-5 0.00027864255 0.00026488674 + 0.00010811565 9.639181e-5 0.0002637233 + 2.883152e-5 8.99658e-5 0.00037848088 + 6.845301e-5 0.0001409178 0.00026393987 + 0.00021794872 0.00014931863 0.00023352004 + 4.4742173e-5 7.695949e-5 0.00017706584 + 0.00011617846 0.000107828404 0.0003322265 + 0.00016644633 0.00010047465 0.00027115303 + 0.00019318859 0.000104806844 0.00030163192 + 0.00043443652 0.000119663106 0.00025865153 + 6.801503e-5 3.819798e-5 0.00026935944 + 0.00026272263 5.108802e-5 0.00018093141 + 7.1711615e-6 0.0010107672 0.0002412112 + 8.8707355e-5 0.00011786588 0.0001642582 + 0.00019183158 0.00015439729 0.0001835731 + 0.0 0.0 0.0 + 0.9136594 0.9338685 0.812976 + 2.0 17.0 3.0 + 1.0 1.0 1.0 + ], + "od_v4x_mish_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.23497245 0.24613737 + 0.1667312 0.21832988 + 1.0013242 0.58411396 + 0.59408945 0.8189573 + 0.93239015 0.94841594 + 0.00063112826 0.0018334271 + 0.9261854 0.00041333522 + 0.00035299518 0.0003614269 + 0.0014277844 0.00016987816 + 3.440195e-5 6.069837e-5 + 0.00064848707 0.00044466887 + 0.00032392063 4.9753493e-5 + 6.0297603e-5 0.00031091846 + 0.00027840136 0.00017123787 + 0.00018556064 4.1042134e-5 + 0.000414156 0.00044829215 + 0.00018425842 0.0001186145 + 0.00028593058 0.00024462695 + 0.00061551394 0.00014492897 + 0.00033182508 0.0007886421 + 0.00040575795 0.0067354375 + 0.0008815745 0.93666315 + 0.0007024519 0.0010459367 + 0.00055931765 0.0012604728 + 0.00015641245 0.0011802797 + 1.5449115e-5 0.00020200723 + 7.153176e-5 0.0011594766 + 5.3124273e-5 0.00013736947 + 2.3070705e-5 0.0003071793 + 0.0007980447 0.0006840525 + 0.00053587975 4.551164e-5 + 0.0002895994 0.0001533949 + 7.2865594e-5 0.00044815286 + 0.000406442 0.0002561396 + 9.748925e-5 0.0012694378 + 0.0011955367 0.00012998121 + 2.2376566e-5 0.00014971566 + 3.6177513e-5 0.00025769434 + 3.093966e-5 0.00014171752 + 0.00012540111 0.00012253255 + 7.0159214e-5 0.00012993041 + 0.00046909048 0.0006412273 + 0.0010421012 0.0003624354 + 0.0015392003 0.00027731073 + 0.00067939266 0.00027312356 + 0.0001281381 0.00025215326 + 2.6422562e-5 0.00017157113 + 0.0006098869 9.454172e-5 + 2.017099e-5 7.601073e-5 + 0.00016422696 0.00010359935 + 3.993684e-5 0.00016178041 + 0.00036280946 0.000139367 + 3.5286823e-5 8.310201e-5 + 5.944497e-5 0.0003781708 + 0.0005696503 0.00029175298 + 0.000104406354 0.00016465607 + 3.9854127e-5 0.00016191884 + 0.00046646976 0.0010878337 + 0.00033707934 0.0007677348 + 2.8299455e-5 9.285859e-5 + 1.16911815e-5 0.00011572833 + 0.00063518016 0.00042506258 + 2.6491238e-5 0.00056325406 + 0.0004491775 0.00028907036 + 0.00011719949 0.0006054298 + 0.00020721497 0.00026480533 + 4.1958065e-5 0.0003143044 + 0.00016579799 0.00028340635 + 2.0211735e-5 0.00022695964 + 5.7040983e-5 0.0001576215 + 1.8257695e-5 0.00029229003 + 0.00010644242 0.00010036048 + 3.3919332e-5 9.5333315e-5 + 6.5198525e-5 0.00014644244 + 0.00021595212 0.00015706084 + 4.4248998e-5 8.074647e-5 + 0.00011567617 0.00011635329 + 0.00015402297 0.00010945564 + 0.00018083604 0.000108925364 + 0.0005833987 0.00012735886 + 6.3107254e-5 4.061405e-5 + 0.00021561819 5.5402797e-5 + 7.4946015e-6 0.0011127804 + 9.33585e-5 0.00012503778 + 0.0002164683 0.00016207252 + 0.0 0.0 + 0.9261854 0.93666315 + 2.0 17.0 + 1.0 1.0 + ], "od_v7_COCO_dog-cycle-car" => Float32[ 0.23815063 0.24645361 0.8860177 0.16355091 0.33622342 0.057299823 @@ -2735,4 +4737,186 @@ const RES_REFS = OrderedDict{String, Matrix{Float32}}( 2.0 17.0 1.0 1.0 ], + "od_v7x_COCO_dog-cycle-car" => Float32[ + 0.1058144 0.23827511 0.24903765 0.8774168 + 0.05288111 0.16821149 0.3369067 0.057568565 + 0.21121216 0.9969165 0.586524 0.9997359 + 0.15018468 0.7057167 0.9349489 0.21734573 + 0.74369115 0.98483527 0.9743997 0.8459032 + 8.0364015e-7 9.563886e-8 6.365419e-5 9.1266645e-7 + 0.00073651585 0.9841296 6.677767e-5 2.121484e-6 + 1.3398427e-5 2.5732074e-6 8.173015e-8 0.8456328 + 0.7423824 1.7591177e-6 3.3248864e-7 4.056538e-6 + 6.6857656e-6 1.7629452e-6 3.1784526e-7 3.091619e-7 + 1.538158e-7 5.705919e-5 6.6977095e-9 8.653355e-6 + 2.4571384e-6 1.245122e-7 2.9979514e-8 1.359106e-6 + 5.0108618e-5 1.0251334e-8 6.432913e-7 6.631e-5 + 1.5549385e-5 1.4205983e-6 6.340601e-7 2.504581e-6 + 1.8681674e-6 2.1962337e-7 4.290168e-7 7.5289296e-7 + 1.5570871e-5 2.0844353e-5 3.2103908e-5 5.3135165e-7 + 6.00752e-8 7.001814e-7 7.747964e-7 1.3495227e-6 + 7.812296e-6 4.4951157e-6 6.7858973e-6 6.033601e-6 + 8.946745e-6 3.289843e-6 1.3223511e-6 5.351117e-7 + 7.148651e-7 1.3197888e-6 1.9868769e-5 8.413384e-8 + 2.1271746e-6 5.395112e-6 0.000120367455 3.905824e-8 + 2.1479126e-7 0.00093734206 0.97393566 2.9548696e-7 + 5.1674683e-6 1.2187475e-5 1.605604e-5 1.5727278e-6 + 3.846154e-6 0.00011930572 5.309746e-5 6.601971e-6 + 2.2798204e-5 7.7437846e-7 1.4484046e-5 1.3649044e-6 + 1.2688916e-7 4.016193e-6 1.20647865e-5 4.5469554e-7 + 3.780075e-7 4.7607324e-7 1.3824817e-5 3.3437394e-7 + 4.1046387e-6 5.20532e-6 8.676803e-6 1.3939646e-6 + 1.0332515e-5 1.9064089e-6 6.963593e-6 3.0524834e-8 + 1.4053078e-6 4.1478397e-6 3.3435434e-5 1.332478e-6 + 8.0193745e-9 6.64281e-7 1.4924336e-8 6.8582096e-7 + 4.4746434e-6 1.128813e-6 1.4850698e-6 3.0231828e-7 + 2.9119094e-6 1.3680967e-6 3.154748e-6 1.2393497e-7 + 6.644475e-6 7.292978e-7 6.8047297e-7 6.523757e-6 + 1.1676509e-6 4.93191e-6 1.5759026e-5 1.0153409e-6 + 3.8762455e-6 4.6547943e-6 1.5189755e-6 1.5305368e-6 + 4.0899545e-6 4.3382323e-7 2.3712776e-6 8.387584e-7 + 5.254474e-7 4.2875965e-7 3.0763947e-6 1.6675326e-6 + 1.1030923e-5 6.536912e-6 1.8494356e-5 7.7957384e-7 + 2.2211636e-6 2.5642682e-6 8.723955e-7 1.9046279e-7 + 2.0327006e-5 1.4750225e-5 9.796537e-6 7.637231e-7 + 3.053106e-5 2.274582e-5 1.5330026e-5 1.3518888e-6 + 1.9927338e-9 1.1915106e-5 2.4352462e-6 1.567774e-6 + 1.1731816e-7 4.0916e-5 8.972875e-7 1.1715065e-7 + 4.3816905e-7 4.6957962e-7 7.10035e-7 3.8907902e-7 + 1.7270842e-6 7.3142337e-6 6.302355e-7 2.042814e-7 + 1.5581057e-7 3.1060776e-7 1.2306248e-5 3.2722241e-6 + 1.2198727e-5 9.795615e-7 1.7008165e-6 1.0185487e-7 + 7.1773143e-9 4.6815494e-8 6.614948e-8 2.6276444e-7 + 8.884886e-7 1.0462289e-6 1.748293e-6 1.0746373e-6 + 1.6968709e-6 1.4632328e-8 3.919293e-9 5.452967e-6 + 3.90244e-6 0.00012508091 9.021574e-6 5.4169114e-8 + 3.6069316e-8 8.673717e-9 8.1984176e-8 2.9558558e-7 + 1.2666537e-7 1.6620455e-9 1.0332601e-6 5.874239e-8 + 4.036321e-7 5.7961283e-6 9.564475e-6 5.2204325e-7 + 9.2833304e-8 4.7036218e-7 3.312222e-6 8.102691e-7 + 4.135541e-8 1.0016479e-6 3.4950241e-7 1.2802015e-7 + 1.9794692e-7 6.208046e-8 8.336154e-6 6.016497e-7 + 2.6194191e-9 0.0002673756 8.478741e-6 5.2580765e-7 + 1.791895e-7 6.9650645e-7 4.708005e-7 4.286321e-5 + 1.2758554e-6 8.963161e-9 1.3715778e-6 1.2307962e-7 + 4.8211234e-7 4.3001246e-6 3.0132128e-7 4.100192e-6 + 4.2918583e-7 1.3834828e-9 2.1914504e-7 1.3608168e-7 + 3.3250886e-5 1.0426516e-5 1.8119415e-5 5.6746003e-8 + 3.9317865e-6 3.7242915e-9 1.9621811e-7 1.0888509e-6 + 5.2901974e-6 7.8512535e-8 6.239502e-8 7.848306e-7 + 7.643424e-6 2.6750977e-9 6.766665e-7 7.886491e-8 + 2.114989e-8 3.2129734e-8 2.457249e-8 5.755421e-6 + 1.15842695e-5 8.989699e-9 1.3796681e-6 2.884427e-8 + 3.9400987e-7 3.1611802e-7 9.776826e-7 1.8527332e-6 + 1.2843607e-6 8.448425e-7 4.3200093e-6 1.2165488e-6 + 2.1787433e-7 3.6737023e-5 3.3507433e-7 5.755613e-7 + 1.7943921e-6 9.751903e-8 1.3871352e-7 2.8098295e-6 + 1.4401008e-8 9.031445e-7 1.0588764e-6 9.809295e-7 + 0.00011871809 5.736283e-7 7.7679385e-7 2.5266917e-7 + 3.8316318e-7 4.3320514e-7 1.1648849e-6 1.402472e-6 + 7.1009656e-9 1.82661e-7 7.8280584e-7 2.7485196e-6 + 1.5821241e-8 1.3343299e-7 4.6391315e-7 2.8684954e-7 + 1.2316971e-7 1.5966442e-7 1.9739001e-7 8.920064e-8 + 2.6187645e-6 2.422221e-5 7.4540014e-7 1.2625856e-6 + 5.5435166e-6 5.771797e-7 4.7603453e-7 3.8054878e-7 + 1.0464752e-5 1.24974e-5 1.7517028e-6 1.810953e-8 + 3.2189155e-6 1.0856352e-6 1.5789577e-5 8.7985e-9 + 9.738374e-7 1.40161455e-5 3.756202e-6 2.5774133e-7 + 5.020438e-8 1.5753226e-6 5.727382e-6 4.4323755e-7 + 0.0 0.0 0.0 0.0 + 0.7423824 0.9841296 0.97393566 0.8456328 + 4.0 2.0 17.0 3.0 + 1.0 1.0 1.0 1.0 + ], + "od_v7x_COCO_dog-cycle-car_nonsquare" => Float32[ + 0.23744616 0.24733302 + 0.16142517 0.2151083 + 0.99694717 0.58535254 + 0.5919244 0.8169888 + 0.9829979 0.9725071 + 6.262777e-8 0.00010124262 + 0.98285973 4.373177e-5 + 4.6453167e-7 1.3877245e-7 + 7.894723e-6 4.378108e-7 + 3.5230082e-6 3.6135808e-7 + 2.4091149e-5 9.883569e-9 + 6.2005125e-7 4.5327432e-8 + 6.2232055e-9 5.7798127e-7 + 1.9379745e-6 6.674612e-7 + 1.559344e-7 5.197039e-7 + 1.5937097e-5 3.0176505e-5 + 6.9396697e-7 7.706551e-7 + 3.2740431e-6 6.8864597e-6 + 1.1460053e-6 1.4586274e-6 + 3.5531997e-7 2.4946197e-5 + 1.0972259e-6 0.0001443611 + 0.00014983569 0.9718303 + 7.683266e-6 2.1555983e-5 + 4.9020375e-5 5.949744e-5 + 5.383504e-7 1.5986403e-5 + 4.6586174e-6 1.2622652e-5 + 2.5015197e-7 2.0860834e-5 + 4.841613e-6 7.875338e-6 + 7.7328764e-7 7.831345e-6 + 3.1547454e-6 2.9843328e-5 + 4.68313e-7 1.7230562e-8 + 8.056677e-7 1.7077948e-6 + 7.739428e-7 3.3075828e-6 + 4.5691522e-7 7.3734316e-7 + 3.57509e-6 1.5692176e-5 + 1.1922935e-5 1.6567217e-6 + 5.0391264e-7 2.4383166e-6 + 2.957873e-7 3.5099936e-6 + 8.35709e-6 1.800841e-5 + 1.812953e-6 9.722353e-7 + 1.0825914e-5 8.750022e-6 + 2.0059637e-5 1.4207133e-5 + 1.4095309e-5 3.134378e-6 + 4.307266e-5 9.019008e-7 + 2.5627742e-7 8.6047675e-7 + 7.0765946e-6 6.7665445e-7 + 2.761828e-7 8.919545e-6 + 1.2742313e-6 1.7881155e-6 + 4.09277e-8 8.697039e-8 + 8.741087e-7 1.9461725e-6 + 9.778234e-9 6.613415e-9 + 6.0299306e-5 8.816916e-6 + 4.5158486e-9 1.08267365e-7 + 9.0776875e-10 1.2108075e-6 + 3.9500756e-6 9.3226e-6 + 2.1301716e-7 4.6729547e-6 + 4.7056403e-7 4.0197887e-7 + 4.032708e-8 9.336409e-6 + 8.9203e-5 9.792962e-6 + 4.8371925e-7 5.649295e-7 + 6.368585e-9 1.8522859e-6 + 1.5042488e-6 4.6227834e-7 + 4.5970064e-10 1.9777146e-7 + 2.4928775e-6 1.7642007e-5 + 1.5712325e-9 4.032298e-7 + 4.9333305e-8 1.3183923e-7 + 4.2538253e-9 9.403862e-7 + 1.1107148e-8 3.6463042e-8 + 6.9559807e-9 1.5698637e-6 + 2.9307768e-7 1.0949433e-6 + 6.6875003e-7 3.9309443e-6 + 5.0824787e-5 3.9261988e-7 + 7.964752e-8 1.660968e-7 + 9.551339e-7 1.0630757e-6 + 6.508768e-7 1.1235032e-6 + 4.2583736e-7 1.3036381e-6 + 1.8857286e-7 8.414245e-7 + 7.1861734e-8 5.8771786e-7 + 9.447254e-8 2.286845e-7 + 3.1540934e-5 8.023998e-7 + 4.3121958e-7 6.842038e-7 + 2.4002034e-5 1.680106e-6 + 6.3411096e-7 2.0370162e-5 + 1.9164036e-5 3.5783378e-6 + 1.3833417e-6 6.0260645e-6 + 0.0 0.0 + 0.98285973 0.9718303 + 2.0 17.0 + 1.0 1.0 + ], ) diff --git a/test/results/dog-cycle-car/v4_csp_COCO_in_padded.png b/test/results/dog-cycle-car/v4_csp_COCO_in_padded.png new file mode 100644 index 00000000..667f0aef Binary files /dev/null and b/test/results/dog-cycle-car/v4_csp_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car/v4_csp_COCO_out_darknet.png b/test/results/dog-cycle-car/v4_csp_COCO_out_darknet.png new file mode 100644 index 00000000..d22c70ee Binary files /dev/null and b/test/results/dog-cycle-car/v4_csp_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car/v4_csp_COCO_out_od.png b/test/results/dog-cycle-car/v4_csp_COCO_out_od.png new file mode 100644 index 00000000..d22c70ee Binary files /dev/null and b/test/results/dog-cycle-car/v4_csp_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car/v4_csp_x_swish_COCO_in_padded.png b/test/results/dog-cycle-car/v4_csp_x_swish_COCO_in_padded.png new file mode 100644 index 00000000..667f0aef Binary files /dev/null and b/test/results/dog-cycle-car/v4_csp_x_swish_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car/v4_csp_x_swish_COCO_out_darknet.png b/test/results/dog-cycle-car/v4_csp_x_swish_COCO_out_darknet.png new file mode 100644 index 00000000..84de0c39 Binary files /dev/null and b/test/results/dog-cycle-car/v4_csp_x_swish_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car/v4_csp_x_swish_COCO_out_od.png b/test/results/dog-cycle-car/v4_csp_x_swish_COCO_out_od.png new file mode 100644 index 00000000..84de0c39 Binary files /dev/null and b/test/results/dog-cycle-car/v4_csp_x_swish_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car/v4_p5_COCO_in_padded.png b/test/results/dog-cycle-car/v4_p5_COCO_in_padded.png new file mode 100644 index 00000000..667f0aef Binary files /dev/null and b/test/results/dog-cycle-car/v4_p5_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car/v4_p5_COCO_out_darknet.png b/test/results/dog-cycle-car/v4_p5_COCO_out_darknet.png new file mode 100644 index 00000000..f729e425 Binary files /dev/null and b/test/results/dog-cycle-car/v4_p5_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car/v4_p5_COCO_out_od.png b/test/results/dog-cycle-car/v4_p5_COCO_out_od.png new file mode 100644 index 00000000..332b5744 Binary files /dev/null and b/test/results/dog-cycle-car/v4_p5_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car/v4_p6_COCO_in_padded.png b/test/results/dog-cycle-car/v4_p6_COCO_in_padded.png new file mode 100644 index 00000000..7f93264a Binary files /dev/null and b/test/results/dog-cycle-car/v4_p6_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car/v4_p6_COCO_out_darknet.png b/test/results/dog-cycle-car/v4_p6_COCO_out_darknet.png new file mode 100644 index 00000000..80a5b98e Binary files /dev/null and b/test/results/dog-cycle-car/v4_p6_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car/v4_p6_COCO_out_od.png b/test/results/dog-cycle-car/v4_p6_COCO_out_od.png new file mode 100644 index 00000000..80a5b98e Binary files /dev/null and b/test/results/dog-cycle-car/v4_p6_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car/v4x_mish_COCO_in_padded.png b/test/results/dog-cycle-car/v4x_mish_COCO_in_padded.png new file mode 100644 index 00000000..667f0aef Binary files /dev/null and b/test/results/dog-cycle-car/v4x_mish_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car/v4x_mish_COCO_out_darknet.png b/test/results/dog-cycle-car/v4x_mish_COCO_out_darknet.png new file mode 100644 index 00000000..3608a23c Binary files /dev/null and b/test/results/dog-cycle-car/v4x_mish_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car/v4x_mish_COCO_out_od.png b/test/results/dog-cycle-car/v4x_mish_COCO_out_od.png new file mode 100644 index 00000000..3608a23c Binary files /dev/null and b/test/results/dog-cycle-car/v4x_mish_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car/v7x_COCO_in_padded.png b/test/results/dog-cycle-car/v7x_COCO_in_padded.png new file mode 100644 index 00000000..0a438810 Binary files /dev/null and b/test/results/dog-cycle-car/v7x_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car/v7x_COCO_out_darknet.png b/test/results/dog-cycle-car/v7x_COCO_out_darknet.png new file mode 100644 index 00000000..a7e78303 Binary files /dev/null and b/test/results/dog-cycle-car/v7x_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car/v7x_COCO_out_od.png b/test/results/dog-cycle-car/v7x_COCO_out_od.png new file mode 100644 index 00000000..a7e78303 Binary files /dev/null and b/test/results/dog-cycle-car/v7x_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_in_padded.png b/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_in_padded.png new file mode 100644 index 00000000..94d5138a Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_out_darknet.png b/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_out_darknet.png new file mode 100644 index 00000000..07bb0f19 Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_out_od.png b/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_out_od.png new file mode 100644 index 00000000..07bb0f19 Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_csp_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_in_padded.png b/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_in_padded.png new file mode 100644 index 00000000..94d5138a Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_out_darknet.png b/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_out_darknet.png new file mode 100644 index 00000000..03591842 Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_out_od.png b/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_out_od.png new file mode 100644 index 00000000..03591842 Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_csp_x_swish_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_in_padded.png b/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_in_padded.png new file mode 100644 index 00000000..94d5138a Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_out_darknet.png b/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_out_darknet.png new file mode 100644 index 00000000..c2791bfb Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_out_od.png b/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_out_od.png new file mode 100644 index 00000000..c2791bfb Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_p5_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_in_padded.png b/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_in_padded.png new file mode 100644 index 00000000..3030bf7f Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_out_darknet.png b/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_out_darknet.png new file mode 100644 index 00000000..e80bef73 Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_out_od.png b/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_out_od.png new file mode 100644 index 00000000..e80bef73 Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4_p6_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_in_padded.png b/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_in_padded.png new file mode 100644 index 00000000..94d5138a Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_out_darknet.png b/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_out_darknet.png new file mode 100644 index 00000000..62c81b20 Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_out_od.png b/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_out_od.png new file mode 100644 index 00000000..62c81b20 Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v4x_mish_COCO_out_od.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v7x_COCO_in_padded.png b/test/results/dog-cycle-car_nonsquare/v7x_COCO_in_padded.png new file mode 100644 index 00000000..d1dd986d Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v7x_COCO_in_padded.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v7x_COCO_out_darknet.png b/test/results/dog-cycle-car_nonsquare/v7x_COCO_out_darknet.png new file mode 100644 index 00000000..f619850e Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v7x_COCO_out_darknet.png differ diff --git a/test/results/dog-cycle-car_nonsquare/v7x_COCO_out_od.png b/test/results/dog-cycle-car_nonsquare/v7x_COCO_out_od.png new file mode 100644 index 00000000..f619850e Binary files /dev/null and b/test/results/dog-cycle-car_nonsquare/v7x_COCO_out_od.png differ