def multip_grabCut(): raw_example_list = _load_grabcut_unary_pairwise_cliques() parser = BatchExamplesParser() selected_num = 50 examples_list_all = parser.parse_grabcut_pickle(raw_example_list) options = Options() batches_num = len(examples_list_all) inf_latent_method = '' init_method = 'clique_by_clique' Tasks = list() for i in range(selected_num): examples_list = examples_list_all[:i] + examples_list_all[i + 1:] Tasks.append((calcGrabCut, (examples_list, examples_list_all[i].name, inf_latent_method, init_method, options))) process_num = min(selected_num, 20) pool = multiprocessing.Pool(process_num) r = pool.map(calcFun, Tasks) pool.close() pool.join() print(r) print('finished')
def laipi_grabCut(): raw_example_list = _load_grabcut_unary_pairwise_cliques() parser = BatchExamplesParser() selected_num = 50 examples_list_all = parser.parse_grabcut_pickle(raw_example_list) options = Options() batches_num = len(examples_list_all) inf_latent_method = 'remove_redundancy' init_method = 'exlarge' laipi_name = [ 'tennis', 'person6', 'cross', '65019', 'elefant', 'bool', '37073', 'banana1', '153077', 'book', '153093', '24077', '189080', '69020' ] Tasks = list() for i in range(selected_num): ex_test = examples_list_all[i] if ex_test.name.split('.')[0] in laipi_name: examples_list = examples_list_all[:i] + examples_list_all[i + 1:] Tasks.append( (laipiDog, (examples_list, examples_list_all[i].name, inf_latent_method, init_method, options, ex_test))) if len(Tasks) != len(laipi_name): raise ValueError('Laipi doesn\'t match!') pool = multiprocessing.Pool(len(laipi_name)) r = pool.map(calcFun, Tasks) pool.close() pool.join() print(r) print('laipi_finished')
def calcCheckboard(prefix_str, miu): instance = Instance('gaussian_portions', portion_miu=miu, is_gaussian=False) examples_list = parser.parse_checkboard(instance) options = Options() outer_history = cccp_outer_loop([examples_list[0]], options, init_method, inf_latent_method, prefix_str) with open( './expData/batchResult/training_result/' 'image_%s_outer_history.pickle' % prefix_str, 'wb') as f: pickle.dump([outer_history, examples_list, prefix_str], f) sys.stdout.flush()
path = './expData/batchResult/temp/bush.pickle_outer_iter0.pickle' theta_list = list() loss_list = list() with open(path, 'rb') as f: data = pickle.load(f) inner_history = data[-1]['inner_history'] for i in inner_history: theta_list.append(i['theta']) loss_list.append(i['loss_aug']) batches_num = 25 raw_example_list = _load_grabcut_unary_pairwise_cliques() parser = BatchExamplesParser() examples_list_all = parser.parse_grabcut_pickle(raw_example_list) options = Options() inf_latent_method = '' init_method = 'clique_by_clique' Tasks = list() # for i in range(batches_num): i = 25 examples_list = examples_list_all[:i] + examples_list_all[i + 1:] y_hat_loss = list() for theta in theta_list: error = 0 for ex in examples_list: y_hat = inf_label_latent_helper(ex.unary_observed, ex.pairwise, ex.clique_indexes, theta, options,