def transformer_test(transformer): hits_params = { loader_keys.DATA_PATH: os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [0, 1, 2, 3], loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } hits_outlier_dataset = HiTSOutlierLoader(hits_params) (x_train, y_train), (x_val, y_val), ( x_test, y_test) = hits_outlier_dataset.get_outlier_detection_datasets() x_train_transform, y_train_transform = transformer.apply_all_transforms( x=x_train) x_val_transform, y_val_transform = transformer.apply_all_transforms( x=x_val) x_test_transform, y_test_transform = transformer.apply_all_transforms( x=x_test) return x_train_transform, y_train_transform, x_val_transform, \ y_val_transform, x_test_transform, y_test_transform
def hits4c_tr18(): hits_params = { loader_keys.DATA_PATH: os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [0, 1, 2, 3], loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } data_loader = HiTSOutlierLoader(hits_params) (x_train, y_train), (x_val, y_val), ( x_test, y_test) = data_loader.get_outlier_detection_datasets() transformer = transformations_tf.KernelTransformer(flips=True, gauss=False, log=False) mdl = EnsembleOVOTransformODSimpleModel( data_loader, transformer=transformer, input_shape=x_train.shape[1:], results_folder_name='transform_selection_1') mdl.fit(x_train, x_val, train_batch_size=1024, verbose=0) train_matrix_scores = mdl.predict_matrix_score(x_train, transform_batch_size=1024) val_matrix_scores = mdl.predict_matrix_score(x_val, transform_batch_size=1024) test_outlier_matrix_scores = mdl.predict_matrix_score( x_test[y_test == 0], transform_batch_size=1024) utils.save_pickle( train_matrix_scores, os.path.join( mdl.main_model_path, 'train_matrix_scores_translations+flip(18)_train_step.pkl')) utils.save_pickle( val_matrix_scores, os.path.join(mdl.main_model_path, 'val_matrix_scores_translations+flip(18)_train_step.pkl')) utils.save_pickle( test_outlier_matrix_scores, os.path.join( mdl.main_model_path, 'test_matrix_scores_translations+flip(18)_train_step.pkl'))
def save_normal_and_transformed_data( transformer, normal_data_name='tf2_normal.pkl', transformed_data_name='tf2_old_transformed.pkl'): save_dir = os.path.join(PROJECT_PATH, 'tests', 'aux_data') utils.check_paths(save_dir) hits_params = { loader_keys.DATA_PATH: os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [0, 1, 2, 3], loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } hits_outlier_dataset = HiTSOutlierLoader(hits_params) (x_train, y_train), (x_val, y_val), ( x_test, y_test) = hits_outlier_dataset.get_outlier_detection_datasets() x_train_transform, y_train_transform = transformer.apply_all_transforms( x=x_train) x_val_transform, y_val_transform = transformer.apply_all_transforms( x=x_val) x_test_transform, y_test_transform = transformer.apply_all_transforms( x=x_test) normal_data = ((x_train, y_train), (x_val, y_val), (x_test, y_test)) transformed_data = ((x_train_transform, y_train_transform), (x_val_transform, y_val_transform), (x_test_transform, y_test_transform)) utils.save_pickle(normal_data, os.path.join(save_dir, normal_data_name)) utils.save_pickle(transformed_data, os.path.join(save_dir, transformed_data_name))
def test_all_tf2_dh_transtransformer_1c(): transformer = transformations_tf.TransTransformer() hits_params = { loader_keys.DATA_PATH: os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [2], loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } hits_outlier_dataset = HiTSOutlierLoader(hits_params) scores_list = [] delta_times_list = [] for i in range(N_RUNS): mdl = TransformODSimpleModel(data_loader=None, transformer=transformer, input_shape=(21, 21, 1), drop_rate=0.0) start_time = time.time() scores = test_all_tf2(mdl, transformer, hits_outlier_dataset, dataset_name='hits-1-c', epochs=2) end_time = time.time() delta_times_list.append(end_time - start_time) scores_list.append(scores) del mdl file_path = os.path.join(PROJECT_PATH, 'tests', 'aux_results', 'test_models_tf1-tf2.txt') print_scores_times_to_file( file_path, 'all_tf2_unchanged_dh_transtransformer_1c_DP0.0_fast_no_prints\n NRUNS: %i' % N_RUNS, scores_list, delta_times_list)
os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [2], loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } data_loader = HiTSOutlierLoader(hits_params) (x_train, y_train), (x_val, y_val), ( x_test, y_test) = data_loader.get_outlier_detection_datasets() # transformer = transformations_tf.KernelTransformer( # flips=True, gauss=False, log=False) transformer = transformations_tf.Transformer() x_train_transformed, transformations_inds = transformer.apply_all_transforms( x_train) x_val_transformed, transformations_inds_val = transformer.apply_all_transforms( x_val) mdl = DeepHits(input_shape=x_train.shape[1:], n_classes=transformer.n_transforms) mdl.fit(x_train_transformed, to_categorical(transformations_inds), verbose=1, epochs=100,
os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [0, 1, 2, 3], loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } hits_outlier_dataset = HiTSOutlierLoader(hits_params) transformer = Transformer() trans_transformer = TransTransformer() kernel_transformer = KernelTransformer() kernel_plus_transformer = PlusKernelTransformer() # data_loader, transformer, dataset_name, class_idx_to_run_experiments_on, n_runs # TODO: delgate names to data_laoders experiments_list = [ # ( # ztf_outlier_dataset, trans_transformer, 'ztf-real-bog-v1', 'real', # N_RUNS), # ( # ztf_outlier_dataset, kernel_transformer, 'ztf-real-bog-v1', 'real', # N_RUNS), # ( # ztf_outlier_dataset, transformer, 'ztf-real-bog-v1', 'real',
os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [0, 1, 2, 3], loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } hits_outlier_dataset = HiTSOutlierLoader(hits_params) (x_train, y_train), (x_val, y_val), ( x_test, y_test) = hits_outlier_dataset.get_outlier_detection_datasets() transformer = TransTransformer() x_train_transform, y_train_transform = transformer.apply_all_transforms( x=x_train) x_val_transform, y_val_transform = transformer.apply_all_transforms( x=x_val) x_test_transform, y_test_transform = transformer.apply_all_transforms( x=x_test) time.sleep(10) mdl = AlreadyTransformODModel(transformer=transformer, input_shape=x_train.shape[1:])
def best_score_evaluation(result_folder_name, epochs, patience=0): trainer_params = { param_keys.RESULTS_FOLDER_NAME: result_folder_name, 'epochs': epochs, 'patience': patience, } # data loaders hits_params = { loader_keys.DATA_PATH: os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [0, 1, 2, 3], # [2],# loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } hits_loader = HiTSOutlierLoader(hits_params) ztf_params = { loader_keys.DATA_PATH: os.path.join(PROJECT_PATH, '../datasets/ztf_v1_bogus_added.pkl'), loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [0, 1, 2], loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } ztf_loader = ZTFOutlierLoader(ztf_params) # transformers transformer_72 = transformations_tf.Transformer() trans_transformer = transformations_tf.TransTransformer() kernel_transformer = transformations_tf.KernelTransformer() plus_kernel_transformer = transformations_tf.PlusKernelTransformer() # trainers hits_trainer = Trainer(hits_loader, trainer_params) ztf_trainer = Trainer(ztf_loader, trainer_params) model_constructors_list = (TransformODModel, ) transformers_list = ( plus_kernel_transformer, kernel_transformer, transformer_72, trans_transformer, ) trainers_list = (hits_trainer, ) # (ztf_trainer, hits_trainer, ) trainer_model_transformer_tuples = list( itertools.product(trainers_list, model_constructors_list, transformers_list)) for trainer, model_constructor, transformer in trainer_model_transformer_tuples: trainer.train_model_n_times(model_constructor, transformer, trainer_params, train_times=TRAIN_TIME) hits_trainer.create_tables_of_results_folders()
os.path.join(PROJECT_PATH, '../datasets/HiTS2013_300k_samples.pkl'), loader_keys.N_SAMPLES_BY_CLASS: 10000, loader_keys.TEST_PERCENTAGE: 0.2, loader_keys.VAL_SET_INLIER_PERCENTAGE: 0.1, loader_keys.USED_CHANNELS: [0, 1, 2, 3], # [2],# loader_keys.CROP_SIZE: 21, general_keys.RANDOM_SEED: 42, loader_keys.TRANSFORMATION_INLIER_CLASS_VALUE: 1 } data_loader = HiTSOutlierLoader(hits_params) transformer = TransTransformer() params = { param_keys.RESULTS_FOLDER_NAME: 'trainer_test', 'epochs': 1, } trainer = Trainer(params) trainer.train_model_n_times(TransformODModel, data_loader, transformer, params, train_times=3) trainer.train_model_n_times(TransformODSimpleModel, data_loader, transformer, params,