def __init__(self, triples_factory: TriplesFactory, hidden_dim: int=300, input_dropout: float=0.2, hidden_dropout: float=0.3, embedding_dim: int=200, automatic_memory_optimization: Optional[bool]=None, loss: Optional[Loss]=None, preferred_device: Optional[str]=None, random_seed: Optional[int]=None, regularizer: Optional[Regularizer]=None) -> None:
    super().__init__(triples_factory=triples_factory, embedding_dim=embedding_dim, automatic_memory_optimization=automatic_memory_optimization, loss=loss, preferred_device=preferred_device, random_seed=random_seed, regularizer=regularizer)
    self.hidden_dim = hidden_dim
    self.input_dropout = input_dropout
    self.linear1 = nn.Linear((2 * self.embedding_dim), self.hidden_dim)
    self.linear2 = nn.Linear(self.hidden_dim, self.embedding_dim)
    self.input_dropout = nn.Dropout(self.input_dropout)
    self.bn1 = nn.BatchNorm1d(self.hidden_dim)
    self.bn2 = nn.BatchNorm1d(self.embedding_dim)
    self.mlp = nn.Sequential(self.linear1, nn.Dropout(hidden_dropout), self.bn1, nn.ReLU(), self.linear2, nn.Dropout(hidden_dropout), self.bn2, nn.ReLU())
    self.reset_parameters_()
def __init__(self, triples_factory: TriplesFactory, hidden_dim: int=300, input_dropout: float=0.2, hidden_dropout: float=0.3, embedding_dim: int=200, automatic_memory_optimization: Optional[bool]=None, loss: Optional[Loss]=None, preferred_device: Optional[str]=None, random_seed: Optional[int]=None, regularizer: Optional[Regularizer]=None) -> None:
    super().__init__(triples_factory=triples_factory, embedding_dim=embedding_dim, automatic_memory_optimization=automatic_memory_optimization, loss=loss, preferred_device=preferred_device, random_seed=random_seed, regularizer=regularizer)
    self.hidden_dim = hidden_dim
    self.input_dropout = input_dropout
    self.linear1 = nn.Linear((2 * self.embedding_dim), self.hidden_dim)
    self.linear2 = nn.Linear(self.hidden_dim, self.embedding_dim)
    self.input_dropout = nn.Dropout(self.input_dropout)
    self.bn1 = nn.BatchNorm1d(self.hidden_dim)
    self.bn2 = nn.BatchNorm1d(self.embedding_dim)
    self.mlp = nn.Sequential(self.linear1, nn.Dropout(hidden_dropout), self.bn1, nn.ReLU(), self.linear2, nn.Dropout(hidden_dropout), self.bn2, nn.ReLU())
    self.reset_parameters_()