chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
from utils.hparams import hparams
|
||||
|
||||
|
||||
class BaseAugmentation:
|
||||
"""
|
||||
Base class for data augmentation.
|
||||
All methods of this class should be thread-safe.
|
||||
1. *process_item*:
|
||||
Apply augmentation to one piece of data.
|
||||
"""
|
||||
def __init__(self, data_dirs: list, augmentation_args: dict):
|
||||
self.raw_data_dirs = data_dirs
|
||||
self.augmentation_args = augmentation_args
|
||||
self.timestep = hparams['hop_size'] / hparams['audio_sample_rate']
|
||||
|
||||
def process_item(self, item: dict, **kwargs) -> dict:
|
||||
raise NotImplementedError()
|
||||
|
||||
|
||||
def require_same_keys(func):
|
||||
def run(*args, **kwargs):
|
||||
item: dict = args[1]
|
||||
res: dict = func(*args, **kwargs)
|
||||
assert set(item.keys()) == set(res.keys()), 'Item keys mismatch after augmentation.\n' \
|
||||
f'Before: {sorted(item.keys())}\n' \
|
||||
f'After: {sorted(res.keys())}'
|
||||
return res
|
||||
return run
|
||||
Reference in New Issue
Block a user