def __init__(self, data_dir, work_dir, train_folds, validation_folds, test_folds, esc10=False):
super().__init__(data_dir, work_dir)
self.meta = pd.read_csv(data_dir + 'esc50.csv')
self.train_folds = train_folds
self.validation_folds = validation_folds
self.test_folds = test_folds
self.class_count = 50
self.bands = 60
self.segment_length = 101
self.esc10 = esc10
if self.esc10:
self.class_count = 10
self.meta = self.meta[self.meta['esc10']]
self.categories = pd.unique(self.meta.sort_values('target')['category'])
self.meta['target'] = self.to_targets(self.meta['category'])
else:
self.categories = pd.unique(self.meta.sort_values('target')['category'])
self.train_meta = self.meta[self.meta['fold'].isin(self.train_folds)]
self.validation_data.meta = self.meta[self.meta['fold'].isin(self.validation_folds)]
self.test_data.meta = self.meta[self.meta['fold'].isin(self.test_folds)]
self._validation_size = len(self.validation_data.meta)
self._test_size = len(self.test_data.meta)
self._generate_spectrograms()
self._populate(self.validation_data)
self._populate(self.test_data)
评论列表
文章目录