Source code for elasticai.creator.nn.identity.layer

from elasticai.creator.base_modules.identity import Identity
from elasticai.creator.nn.design_creator_module import DesignCreatorModule
from elasticai.creator.vhdl.design.design import Design

from .design import BufferedIdentity as IdentityDesign
from .design import BufferlessDesign


[docs] class BufferedIdentity(DesignCreatorModule, Identity): def __init__(self, num_input_features: int, total_bits: int) -> None: self._num_input_features = num_input_features self._num_input_bits = total_bits super().__init__()
[docs] def create_design(self, name: str) -> Design: return IdentityDesign( name=name, num_input_features=self._num_input_features, num_input_bits=self._num_input_bits, )
[docs] class BufferlessIdentity(DesignCreatorModule, Identity): def __init__(self, total_bits: int) -> None: self._num_input_bits = total_bits super().__init__()
[docs] def create_design(self, name: str) -> Design: return BufferlessDesign( name=name, num_input_bits=self._num_input_bits, )