Source code for vak.models.ed_tcn
"""
"""
from __future__ import annotations
import torch
from .. import metrics, nets
from .decorator import model
from .frame_classification_model import FrameClassificationModel
[docs]
@model(family=FrameClassificationModel)
class ED_TCN:
"""Encoder-Decoder Temporal Convolutional Network model
for the frame classification task.
As described in [1]_. This adaptation adds convolutional
blocks as a front end to extract features from the input.
Attributes
----------
network : vak.nets.ED_TCN
Encoder-Decoder Temporal Convolutional Network architecture.
loss: torch.nn.CrossEntropyLoss
Standard cross-entropy loss
optimizer: torch.optim.Adam
Adam optimizer.
metrics: dict
Mapping string names to the following metrics:
``vak.metrics.Accuracy``, ``vak.metrics.Levenshtein``,
``vak.metrics.CharacterErrorRate``, ``torch.nn.CrossEntropyLoss``.
References
----------
.. [1] Lea, C., Flynn, M. D., Vidal, R., Reiter, A., & Hager, G. D. (2017).
Temporal convolutional networks for action segmentation and detection.
In proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 156-165).
"""
network = nets.ED_TCN
loss = torch.nn.CrossEntropyLoss
optimizer = torch.optim.Adam
metrics = {
"acc": metrics.Accuracy,
"levenshtein": metrics.Levenshtein,
"character_error_rate": metrics.CharacterErrorRate,
"loss": torch.nn.CrossEntropyLoss,
}
default_config = {"optimizer": {"lr": 0.003}}