Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions luxonis_train/nodes/backbones/pplcnet_v3/pplcnet_v3.py
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
5 changes: 5 additions & 0 deletions tests/unittests/test_callbacks/test_ema.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
):
Expand Down
31 changes: 31 additions & 0 deletions tests/unittests/test_pplcnet_v3.py
Original file line number Diff line number Diff line change
@@ -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,
)
Loading