@abstractmethod
def forward_loss(self, data_points: Union[(List[DataPoint], DataPoint)]) -> torch.tensor:
    'Performs a forward pass and returns a loss tensor for backpropagation. Implement this to enable training.'
    raise NotImplementedError
Performs a forward pass and returns a loss tensor for backpropagation. Implement this to enable training.
@abstractmethod
def forward_loss(self, data_points: Union[(List[DataPoint], DataPoint)]) -> torch.tensor:
    
    raise NotImplementedError