diff --git a/luxonis_train/nodes/backbones/pplcnet_v3/pplcnet_v3.py b/luxonis_train/nodes/backbones/pplcnet_v3/pplcnet_v3.py index 4ef368280..6e7d841da 100644 --- a/luxonis_train/nodes/backbones/pplcnet_v3/pplcnet_v3.py +++ b/luxonis_train/nodes/backbones/pplcnet_v3/pplcnet_v3.py @@ -82,10 +82,7 @@ def __init__( self.blocks = nn.ModuleList(blocks) if self.use_detection_backbone: - blocks_out_channels = [ - scale_up(blocks[i].out_channels, self.scale) - for i in range(1, 5) - ] + blocks_out_channels = [blocks[i].out_channels for i in range(1, 5)] detecion_out_channels = [ int(c * self.scale) for c in [16, 24, 56, 480] diff --git a/tests/unittests/test_callbacks/test_ema.py b/tests/unittests/test_callbacks/test_ema.py index db2ba71d2..40e4cbe76 100644 --- a/tests/unittests/test_callbacks/test_ema.py +++ b/tests/unittests/test_callbacks/test_ema.py @@ -57,6 +57,11 @@ def test_ema_initialization(model: LightningModule, ema_callback: EMACallback): assert ema_callback.ema.use_dynamic_decay == ema_callback.use_dynamic_decay +def test_ema_before_fit_start(ema_callback: EMACallback): + with pytest.raises(ValueError, match="not yet init"): + _ = ema_callback.ema + + def test_ema_update_on_batch_end( model: LightningModule, ema_callback: EMACallback ): diff --git a/tests/unittests/test_pplcnet_v3.py b/tests/unittests/test_pplcnet_v3.py new file mode 100644 index 000000000..c973d81a9 --- /dev/null +++ b/tests/unittests/test_pplcnet_v3.py @@ -0,0 +1,31 @@ +import torch +from torch import Size + +from luxonis_train.nodes.backbones import PPLCNetV3 + + +def test_recognition_backbone(): + backbone = _build_backbone(use_detection_backbone=False) + out = backbone(torch.rand(2, 3, 48, 320)) + assert len(out) == 5 + assert out[-1].shape[-2:] == (1, 40) + + +def test_detection_backbone(): + backbone = _build_backbone(use_detection_backbone=True) + out = backbone(torch.rand(2, 3, 48, 320)) + assert [f.shape[1] for f in out] == [15, 22, 53, 456] + + +def _build_backbone(use_detection_backbone: bool) -> PPLCNetV3: + # `variant=` hides the injected parameters from pyright. + _, variants = PPLCNetV3.get_variants() + variant = variants["rec-light"] + return PPLCNetV3( + input_shapes=[{"features": [Size((3, 48, 320))]}], + scale=variant["scale"], + n_branches=variant["n_branches"], + layer_params=variant["layer_params"], + use_detection_backbone=use_detection_backbone, + max_text_len=40, + )