-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathdata_augmentation.py
More file actions
68 lines (53 loc) · 1.94 KB
/
Copy pathdata_augmentation.py
File metadata and controls
68 lines (53 loc) · 1.94 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
r'''
____ ____ _ ____ _____ _ _
| _ \ / ___| / \ / ___|| ____| _ __ ___ ___ __| | ___| |___
| | | | | / _ \ \___ \| _| _____| '_ ` _ \ / _ \ / _` |/ _ \ / __|
| |_| | |___ / ___ \ ___) | |__|_____| | | | | | (_) | (_| | __/ \__ \\
|____/ \____/_/ \_\____/|_____| |_| |_| |_|\___/ \__,_|\___|_|___/
Download dataset example
'''
import os
import argparse
from dcase_models.data.datasets import get_available_datasets
from dcase_models.util.files import load_json
from dcase_models.data.data_augmentation import AugmentedDataset
def main():
# Parse arguments
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument(
'-d', '--dataset', type=str,
help='dataset name (e.g. UrbanSound8k, ESC50, URBAN_SED, SONYC_UST)',
default='UrbanSound8k'
)
parser.add_argument(
'-p', '--path', type=str,
help='path to the parameters.json file',
default='../'
)
args = parser.parse_args()
print(__doc__)
if args.dataset not in get_available_datasets():
raise AttributeError('Dataset not available')
# Get parameters
parameters_file = os.path.join(args.path, 'parameters.json')
params = load_json(parameters_file)
params_dataset = params['datasets'][args.dataset]
# Get and init dataset class
dataset_class = get_available_datasets()[args.dataset]
dataset_path = os.path.join(args.path, params_dataset['dataset_path'])
dataset = dataset_class(dataset_path)
# Define the augmentations
augmentations = params['data_augmentations']
# Initialize AugmentedDataset
aug_dataset = AugmentedDataset(
dataset, params['features']['sr'], augmentations
)
# Process all files
print('Processing ...')
aug_dataset.process()
print('Done!')
if __name__ == "__main__":
main()