def test_batch(self): filepaths = self.filepaths_file_1 gene = iter(get_h5_generator(self.orga, filepaths)) target_xs_batch_1 = { "input_A": self.train_A_file_1_ctnt[0][:2], "input_B": self.train_B_file_1_ctnt[0][:2], } target_ys_batch_1 = label_modifier( {"y_values": self.train_A_file_1_ctnt[1][:2]}) target_xs_batch_2 = { "input_A": self.train_A_file_1_ctnt[0][2:4], "input_B": self.train_B_file_1_ctnt[0][2:4], } target_ys_batch_2 = label_modifier( {"y_values": self.train_A_file_1_ctnt[1][2:4]}) xs, ys = next(gene) assert_dict_arrays_equal(xs, target_xs_batch_1) assert_dict_arrays_equal(ys, target_ys_batch_1) xs, ys = next(gene) assert_dict_arrays_equal(xs, target_xs_batch_2) assert_dict_arrays_equal(ys, target_ys_batch_2) with self.assertRaises(StopIteration): next(gene)
def test_batch_sample_modifier(self): filepaths = self.filepaths_file_1 def sample_modifier(info_blob): xs_in = info_blob["x_values"] mod = {name: val * 2 for name, val in xs_in.items()} return mod self.orga.cfg.sample_modifier = sample_modifier gene = iter(get_h5_generator(self.orga, filepaths)) target_xs_batch_1 = { "input_A": self.train_A_file_1_ctnt[0][:2] * 2, "input_B": self.train_B_file_1_ctnt[0][:2] * 2, } target_ys_batch_1 = label_modifier( {"y_values": self.train_A_file_1_ctnt[1][:2]}) target_xs_batch_2 = { "input_A": self.train_A_file_1_ctnt[0][2:4] * 2, "input_B": self.train_B_file_1_ctnt[0][2:4] * 2, } target_ys_batch_2 = label_modifier( {"y_values": self.train_A_file_1_ctnt[1][2:4]}) xs, ys = next(gene) assert_dict_arrays_equal(xs, target_xs_batch_1) assert_dict_arrays_equal(ys, target_ys_batch_1) xs, ys = next(gene) assert_dict_arrays_equal(xs, target_xs_batch_2) assert_dict_arrays_equal(ys, target_ys_batch_2)
def test_batch_mc_infos(self): filepaths = self.filepaths_file_1 gene = iter(get_h5_generator(self.orga, filepaths, keras_mode=False)) target_xs_batch_1 = { "input_A": self.train_A_file_1_ctnt[0][:2], "input_B": self.train_B_file_1_ctnt[0][:2], } target_ys_batch_1 = label_modifier( {"y_values": self.train_A_file_1_ctnt[1][:2]}) target_mc_info_batch_1 = self.train_A_file_1_ctnt[1][:2] target_xs_batch_2 = { "input_A": self.train_A_file_1_ctnt[0][2:4], "input_B": self.train_B_file_1_ctnt[0][2:4], } target_ys_batch_2 = label_modifier( {"y_values": self.train_A_file_1_ctnt[1][2:4]}) target_mc_info_batch_2 = self.train_A_file_1_ctnt[1][2:4] info_blob = next(gene) assert_dict_arrays_equal(info_blob["xs"], target_xs_batch_1) assert_dict_arrays_equal(info_blob["ys"], target_ys_batch_1) assert_equal_struc_array(info_blob["y_values"], target_mc_info_batch_1) info_blob = next(gene) assert_dict_arrays_equal(info_blob["xs"], target_xs_batch_2) assert_dict_arrays_equal(info_blob["ys"], target_ys_batch_2) assert_equal_struc_array(info_blob["y_values"], target_mc_info_batch_2)
def test_batch_zero_center(self): filepaths = self.filepaths_file_1 xs_mean = {name: np.ones(shape) * 0.5 for name, shape in self.n_bins.items()} self.orga.get_xs_mean = MagicMock(return_value=xs_mean) gene = iter(get_h5_generator(self.orga, filepaths, zero_center=True)) target_xs_batch_1 = { "input_A": np.subtract(self.train_A_file_1_ctnt[0][:2], xs_mean["input_A"]), "input_B": np.subtract(self.train_B_file_1_ctnt[0][:2], xs_mean["input_B"]), } target_ys_batch_1 = label_modifier({"y_values": self.train_A_file_1_ctnt[1][:2]}) target_xs_batch_2 = { "input_A": np.subtract(self.train_A_file_1_ctnt[0][2:], xs_mean["input_A"]), "input_B": np.subtract(self.train_B_file_1_ctnt[0][2:], xs_mean["input_B"]), } target_ys_batch_2 = label_modifier({"y_values": self.train_A_file_1_ctnt[1][2:]}) xs, ys = next(gene) assert_dict_arrays_equal(xs, target_xs_batch_1) assert_dict_arrays_equal(ys, target_ys_batch_1) xs, ys = next(gene) assert_dict_arrays_equal(xs, target_xs_batch_2) assert_dict_arrays_equal(ys, target_ys_batch_2)