def test_run_pipeline_3d(): ExperimentPipeline(log_base_path='../../hn_perf/3d_xs').from_full_config( 'tests/json/sample_dataset_xs_3d_full.json').run_experiment( train_history_log=True, model_checkpoint_period=1, prediction_checkpoint_period=1, epochs=1).apply_post_processors( map_meta_data='patient_idx').load_best_model().run_test( ).apply_post_processors(map_meta_data='patient_idx', run_test=True, recipe='3d')
def test_run_pipeline(): ExperimentPipeline(log_base_path='../../hn_perf/2d_xs').from_full_config( 'tests/json/sample_dataset_xs_config_diff_size.json').run_experiment( train_history_log=True, model_checkpoint_period=1, prediction_checkpoint_period=1, epochs=2 ).apply_post_processors(map_meta_data='patient_idx').plot_prediction( masked_images=[i for i in range(3)], best_num=1, worst_num=1).load_best_model( monitor='val_dice', use_raw_log=True).run_test( masked_images=[i for i in range(3)]).apply_post_processors( map_meta_data='patient_idx', run_test=True, recipe='2d').plot_3d_test_images(best_num=1, worst_num=1)
except RuntimeError as e: # Virtual devices must be set before GPUs have been initialized print(e) if 'patch' in args.log_folder: analysis_folder = args.analysis_folder else: analysis_folder = '' if '2d' in args.log_folder: meta = args.meta else: meta = args.meta.split(',')[0] # # copy to another location log_folder = args.log_folder + '_' + args.dataset_file[:-5].split('/')[-1] if not os.path.exists(log_folder): shutil.copytree(args.log_folder, log_folder) if not os.path.exists(log_folder + '_temp'): shutil.copytree(log_folder, log_folder + '_temp') ex = ExperimentPipeline(log_base_path=log_folder, temp_base_path=log_folder + '_temp') ex.from_file(args.config_file).run_external( args.dataset_file, map_meta_data=meta).apply_post_processors( recipe='auto', analysis_base_path=analysis_folder, map_meta_data=meta, run_test=True) # .plot_3d_test_images(best_num=2, worst_num=2)