def reshape_image(self): if self.x_train.shape[0] > 0: self.x_train = reshape_func(self.x_train, self.subcarrier_spacing) if self.x_test.shape[0] > 0: self.x_test = reshape_func(self.x_test, self.subcarrier_spacing) if self.no_label_test is not None: for key in self.no_label_test: for idx in self.no_label_test[key]: self.no_label_test[key][idx] = reshape_func(self.no_label_test[key][idx], self.subcarrier_spacing)
def load_image(self, training_mode, from_file, train_data_class={}, test_data_class={}): x_train, x_test, y_train, y_test = np.array([]), np.array( []), np.array([]), np.array([]) self.classes_num = {} for label_name, o in self.label.items(): if o not in self.classes_num.keys(): self.classes_num[o] = {'train_num': 0, 'test_num': 0} if training_mode: if from_file: filename = self.file_prefix + 'training_' + str(o) + '.dat' print('train filename ' + filename) temp_image = np.fromfile(filename, dtype=np.complex64) temp_image = np.reshape(temp_image, (-1, ) + self.data_shape) else: temp_image = train_data_class[o] temp_image = reshape_func(temp_image, self.subcarrier_spacing) temp_label = np.full((temp_image.shape[0], 1), o, np.int8) self.classes_num[o]['train_num'] += temp_label.shape[0] x_train = append_array(x_train, temp_image) y_train = append_array(y_train, temp_label) if from_file: test_filename = self.file_prefix + 'training_test_' + str( o) + '.dat' else: if from_file: test_filename = self.file_prefix + 'test_' + str( o) + '.dat' if from_file: print('test filename ' + test_filename) temp_image = np.fromfile(test_filename, dtype=np.complex64) temp_image = np.reshape(temp_image, (-1, ) + self.data_shape) else: temp_image = test_data_class[o] if temp_image.shape[0] == 0: continue temp_image = reshape_func(temp_image, self.subcarrier_spacing) temp_label = np.full((temp_image.shape[0], 1), o, np.int8) self.classes_num[o]['test_num'] += temp_label.shape[0] x_test = append_array(x_test, temp_image) y_test = append_array(y_test, temp_label) self.x_train, self.y_train, self.x_test, self.y_test = x_train, y_train, x_test, y_test print(self.classes_num) if self.x_train.shape[0] != self.y_train.shape[0]: raise ValueError('x_train and y_train size mismatch') if self.x_test.shape[0] != self.y_test.shape[0]: raise ValueError('x_test and y_test size mismatch')
def add_image_no_label(self, test_data_class): for key in test_data_class: for idx in test_data_class[key]: test_data_class[key][idx] = reshape_func(test_data_class[key][idx], self.subcarrier_spacing) self.no_label_test = test_data_class