Spaces:
Sleeping
Sleeping
File size: 786 Bytes
957e2dc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
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)
|