diff --git a/ANN_Data_Generator.py b/ANN_Data_Generator.py index 3ecc0085351f27bafdbe10f0480a84d92e982aa7..63f37fcb4bd09475a8dbec4e902b59a9de0ee93b 100644 --- a/ANN_Data_Generator.py +++ b/ANN_Data_Generator.py @@ -5,7 +5,7 @@ TODO: Improve '_generate_cell_data' TODO: Extract normalization (Combine smooth and troubled before normalizing) -> Done TODO: Adapt code to generate both normalized and non-normalized data -> Done -TODO: Improve verbose output +TODO: Improve verbose output -> Done TODO: Change order of methods -> Done """ @@ -15,6 +15,7 @@ import os import Initial_Condition import DG_Approximation +import timeit class TrainingDataGenerator(object): @@ -46,11 +47,14 @@ class TrainingDataGenerator(object): os.makedirs(self._data_dir) def build_training_data(self, num_samples): - print('Calculating training data...') + tic = timeit.default_timer() + print('Calculating training data...\n') data_dict = self._calculate_data_set(num_samples) print('Finished calculating training data!') self._save_data(data_dict) + toc = timeit.default_timer() + print('Total runtime:', toc-tic) return data_dict def _calculate_data_set(self, num_samples): @@ -78,6 +82,11 @@ class TrainingDataGenerator(object): 'normalized_input': norm_input_matrix} def _generate_cell_data(self, num_samples, initial_conditions, is_smooth): + troubled_indicator = 'without' if is_smooth else 'with' + print('Calculating data ' + troubled_indicator + ' troubled cells...') + print('Samples to complete:', num_samples) + tic = timeit.default_timer() + num_function_samples = num_samples//len(initial_conditions) function_id = 0 input_data = np.zeros((num_samples, 5)) @@ -121,6 +130,10 @@ class TrainingDataGenerator(object): if count % 100 == 0: print(str(count) + ' samples completed.') + toc = timeit.default_timer() + print('Finished calculating data ' + troubled_indicator + ' troubled cells!') + print('Calculation time:', toc-tic, '\n') + # Shuffle input data order = np.random.permutation(num_samples) input_data = input_data[order] @@ -162,6 +175,7 @@ class TrainingDataGenerator(object): return normalized_input_data def _save_data(self, data): + print('Saving training data.') for key in data.keys(): name = self._data_dir + '/' + key + '_data.npy' np.save(name, data[key])