mmyolo/tests/test_models/test_layers/test_yolo_bricks.py
Nioolek e4080f8870 [Feature] Support PPYOLOE inference (#145)
* add ppyoloe backbone, neck

* add ppyoloe test

* add docstring

* add ppyoloe m/l/x configfile

* add ppyoloe_coco.py

* rename config

* add typehint

* format repvgg

* format code; add ut

* add doc; use mmdet.DropBlock

* add doc, format code, add non-plus config

* format code

* format code

* format code

* format code

* format code

* format code
2022-11-03 19:03:06 +08:00

35 lines
1.1 KiB
Python

# Copyright (c) OpenMMLab. All rights reserved.
from unittest import TestCase
import torch
from mmyolo.models.layers import SPPFBottleneck
from mmyolo.utils import register_all_modules
register_all_modules()
class TestSPPFBottleneck(TestCase):
def test_forward(self):
input_tensor = torch.randn((1, 3, 20, 20))
bottleneck = SPPFBottleneck(3, 16)
out_tensor = bottleneck(input_tensor)
self.assertEqual(out_tensor.shape, (1, 16, 20, 20))
bottleneck = SPPFBottleneck(3, 16, kernel_sizes=[3, 5, 7])
out_tensor = bottleneck(input_tensor)
self.assertEqual(out_tensor.shape, (1, 16, 20, 20))
# set len(kernel_sizes)=4
bottleneck = SPPFBottleneck(3, 16, kernel_sizes=[3, 5, 7, 9])
out_tensor = bottleneck(input_tensor)
self.assertEqual(out_tensor.shape, (1, 16, 20, 20))
# set use_conv_first=False
bottleneck = SPPFBottleneck(
3, 16, use_conv_first=False, kernel_sizes=[3, 5, 7, 9])
out_tensor = bottleneck(input_tensor)
self.assertEqual(out_tensor.shape, (1, 16, 20, 20))