deepecgkit.registry¶
Decorator-based registration system for models and datasets. Registered components are automatically discoverable by the CLI and other consumers.
registry
¶
Model and dataset registry for deepecg-kit.
Provides decorator-based registration so new models and datasets are automatically discoverable by the CLI and other consumers.
Usage
from deepecgkit.registry import register_model, register_dataset
@register_model("my-model", description="My custom model") class MyModel(nn.Module): ...
@register_dataset("my-dataset", input_channels=1, description="My dataset") class MyDataset(BaseECGDataset): ...
register_model
¶
register_model(
name: str,
description: str = "",
default_kwargs: dict[str, Any] | None = None,
min_input_length: int | None = None,
max_input_length: int | None = None,
) -> Callable
Register a model class under a short CLI/registry name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Registry name ("resnet", "kanres", ...) |
required |
description
|
str
|
One-line description shown by list-models |
''
|
default_kwargs
|
dict[str, Any] | None
|
Constructor arguments applied by build_model unless overridden by the caller |
None
|
min_input_length
|
int | None
|
Smallest signal length (samples) the architecture accepts, when it has a floor |
None
|
max_input_length
|
int | None
|
Largest signal length it accepts, when it has a ceiling (positional-encoding limits) |
None
|
Returns:
| Type | Description |
|---|---|
Callable
|
A class decorator that records the class and returns it unchanged. |
Source code in deepecgkit/registry.py
register_dataset
¶
register_dataset(
name: str,
input_channels: int,
num_classes: int | None = None,
description: str = "",
) -> Callable
Register a dataset class under a short CLI/registry name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Registry name ("ptbxl", "ltafdb", ...) |
required |
input_channels
|
int
|
Lead count the dataset yields by default |
required |
num_classes
|
int | None
|
Class count; derived from CLASS_LABELS when omitted |
None
|
description
|
str
|
One-line description shown by list-datasets |
''
|
Returns:
| Type | Description |
|---|---|
Callable
|
A class decorator that records the class and returns it unchanged. |
Source code in deepecgkit/registry.py
get_model
¶
Return the registered model class for a name.
Raises:
| Type | Description |
|---|---|
KeyError
|
If the name is not registered. |
Source code in deepecgkit/registry.py
get_dataset
¶
Return the registered dataset class for a name.
Raises:
| Type | Description |
|---|---|
KeyError
|
If the name is not registered. |
Source code in deepecgkit/registry.py
get_model_names
¶
get_dataset_names
¶
get_model_info
¶
Return a model's registry entry: class, description, default_kwargs, head_attr, and input-length bounds.
Raises:
| Type | Description |
|---|---|
KeyError
|
If the name is not registered. |
Source code in deepecgkit/registry.py
get_dataset_info
¶
Return a dataset's registry entry: class, input_channels, num_classes, and description; num_classes falls back to len(CLASS_LABELS).
Raises:
| Type | Description |
|---|---|
KeyError
|
If the name is not registered. |