Spaces:
Sleeping
Sleeping
| import random | |
| import torch | |
| from src.simulation.effect import Effect | |
| ################################################################################ | |
| # Simple gain scaling | |
| ################################################################################ | |
| class Gain(Effect): | |
| def __init__(self, compute_grad: bool = True, level: any = None): | |
| super().__init__(compute_grad) | |
| self.min_level, self.max_level = self.parse_range( | |
| level, | |
| float, | |
| f'Invalid gain {level}' | |
| ) | |
| self.level = None | |
| self.sample_params() | |
| def forward(self, x: torch.Tensor): | |
| return x * self.level | |
| def sample_params(self): | |
| self.level = random.uniform(self.min_level, self.max_level) | |