Spaces:
Sleeping
Sleeping
import torch.nn as nn | |
def remove_padding(tensors, lengths): | |
return [tensor[:tensor_length] for tensor, tensor_length in zip(tensors, lengths)] | |
class AutoParams(nn.Module): | |
def __init__(self, **kargs): | |
try: | |
for param in self.needed_params: | |
if param in kargs: | |
setattr(self, param, kargs[param]) | |
else: | |
raise ValueError(f"{param} is needed.") | |
except : | |
pass | |
try: | |
for param, default in self.optional_params.items(): | |
if param in kargs and kargs[param] is not None: | |
setattr(self, param, kargs[param]) | |
else: | |
setattr(self, param, default) | |
except : | |
pass | |
super().__init__() | |
# taken from joeynmt repo | |
def freeze_params(module: nn.Module) -> None: | |
""" | |
Freeze the parameters of this module, | |
i.e. do not update them during training | |
:param module: freeze parameters of this module | |
""" | |
for _, p in module.named_parameters(): | |
p.requires_grad = False | |