def test_combine_multiple_annotations(self):
        run_id = 1
        exp_config = ExperimentConfig(self.root_path,
                                      4,
                                      self.z_dim,
                                      [self.N_1, self.N_2, self.N_3],
                                      num_cluster_config=None)
        exp_config.check_and_create_directories(run_id)
        # Read all the individual data frames into a dictionary of format {"annotator_id"}
        base_path = get_base_path(exp_config.root_path,
                                  exp_config.Z_DIM,
                                  exp_config.num_units[2],
                                  exp_config.num_units[1],
                                  exp_config.num_cluster_config,
                                  run_id=run_id)

        data_dict = combine_annotation_sessions(keys=self.keys,
                                                base_path=base_path,
                                                max_epoch=self.max_epoch)

        df_set_1 = data_dict["manual_annotation_set_1"]["data_frame"]
        df_set_1 = df_set_1[df_set_1["has_multiple_value"]]
        self.assertEqual(df_set_1.shape[0], 0)

        df_set_2 = data_dict["manual_annotation_set_2"]["data_frame"]
        df_set_2 = df_set_2[df_set_2["has_multiple_value"]]
        self.assertEqual(df_set_2.shape[0], 9)

        combine_multiple_annotations(data_dict, exp_config, run_id)

        df_set_1 = data_dict["manual_annotation_set_1"]["data_frame"]
        df_set_1 = df_set_1[df_set_1["has_multiple_value"]]
        self.assertEqual(df_set_1.shape[0], 0)

        df_set_2 = data_dict["manual_annotation_set_2"]["data_frame"]
        df_set_2 = df_set_2[df_set_2["has_multiple_value"]]
        self.assertEqual(df_set_2.shape[0], 9)
annotator = "SUNIL"
eval_interval = 300

N_3 = 32
N_2 = 128
N_1 = 64
Z_DIM = 10
run_id = 1
ROOT_PATH = "/Users/sunilkumar/concept_learning_old/image_classification_old/"
exp_config = ExperimentConfig(ROOT_PATH,
                              4,
                              Z_DIM, [N_1, N_2, N_3],
                              num_cluster_config=None)
BATCH_SIZE = exp_config.BATCH_SIZE
DATASET_NAME = exp_config.dataset_name
exp_config.check_and_create_directories(run_id, create=False)

NUMBER_OF_ROWS = 16
NUM_DIGITS_PER_ROW = 4
MAX_BACKUPS = 10
last_epoch = 50

ANNOTATED_PATH = exp_config.BASE_PATH + "manual_annotation_combined"

# Initialize variables
counter_start = 2
idx_start = 0
idx_end = 298

counter = 1
batch_size = 64
# Initialize variables
debug = False
annotator = "SUNIL"

N_3 = 32
N_2 = 128
N_1 = 64
z_dim = 5
run_id = 3
ROOT_PATH = "/Users/sunilkumar/concept_learning_old/image_classification_old/"
exp_config = ExperimentConfig(ROOT_PATH,
                              4,
                              z_dim, [N_1, N_2, N_3],
                              num_cluster_config=None)
exp_config.check_and_create_directories(run_id)

NUMBER_OF_ROWS = 16
NUM_DIGITS_PER_ROW = 4

check_and_create_folder(exp_config.get_annotation_result_path())

# Setting debug = true will write all intermediate data frames
if debug:
    debug_path = os.path.join(exp_config.get_annotation_result_path(),
                              "debug/")
    check_and_create_folder(debug_path)

num_batches_per_epoch = exp_config.num_train_samples // exp_config.BATCH_SIZE
number_of_evaluation_per_epoch = num_batches_per_epoch // exp_config.eval_interval
num_val_images = 2