PhoneticXeus / src /model /xeusphoneme /linear_layer.py
shikhar7ssu's picture
Add trust_remote_code support: AutoModel + safetensors + vendored src + beginner README
8d83dee verified
Raw
History Blame Contribute Delete
677 Bytes
"""Linear Projection."""
from typing import Tuple
import torch
class LinearProjection(torch.nn.Module):
def __init__(self, input_size: int, output_size: int, dropout: float = 0.0):
super().__init__()
self.output_dim = output_size
self.linear_out = torch.nn.Linear(input_size, output_size)
self.dropout = torch.nn.Dropout(dropout)
def forward(
self, input: torch.Tensor, input_lengths: torch.Tensor
) -> Tuple[torch.Tensor, torch.Tensor]:
output = self.linear_out(self.dropout(input))
return output, input_lengths # no state in this layer
def output_size(self) -> int:
return self.output_dim