def chip_info(hs, cx, notes=''): nx = hs.tables.cx2_nx[cx] gx = hs.tables.cx2_gx[cx] name = hs.tables.nx2_name[nx] gname = hs.tables.gx2_gname[gx] indexed_gt_cxs = hs.get_other_indexed_cxs(cx) gt_cxs = hs.get_other_indexed_cxs(cx) kpts = hs.get_kpts(cx) cidstr = hs.cidstr(cx) print('------------------') print('[dev] Chip Info ') infostr_list = [ cidstr, 'notes=%r' % notes, 'cx=%r' % cx, 'gx=%r' % gx, 'nx=%r' % nx, 'name=%r' % name, 'gname=%r' % gname, 'len(kpts)=%r' % len(kpts), 'nGroundTruth = %s ' % str(len(gt_cxs)), 'nIndexedGroundTruth = %s ' % str(len(indexed_gt_cxs)), 'Ground Truth: %s' % (hs.cidstr(gt_cxs), ), 'IndexedGroundTruth = %s' % (hs.cidstr(indexed_gt_cxs), ), ] print(helpers.indent('\n'.join(infostr_list), ' ')) return locals()
def dev_mode(back): # Help -> Developer Help steal_again = back.front.return_stdout() hs = back.hs # NOQA front = back.front wasBlocked = front.blockSignals(True) devmode = True # NOQA print(helpers.indent(str(hs), '[*back.hs] ')) rrr() print(r'[\back] finished dev_help') #app = back.app #from PyQt4 import QtGui #QtGui.qApp.quit() #app.exit() # Stop the main loop #app.quit() #if back.timer is not None: from PyQt4.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() #from IPython.lib.inputhook import enable_qt4 #enable_qt4() execstr = helpers.ipython_execstr() #print(execstr) print('Debugging in IPython. IPython will break gui until you exit') exec(execstr) if steal_again: back.front.steal_stdout() back.front.blockSignals(wasBlocked)
def chip_info(hs, cx, notes=''): nx = hs.tables.cx2_nx[cx] gx = hs.tables.cx2_gx[cx] name = hs.tables.nx2_name[nx] gname = hs.tables.gx2_gname[gx] indexed_gt_cxs = hs.get_other_indexed_cxs(cx) gt_cxs = hs.get_other_indexed_cxs(cx) kpts = hs.get_kpts(cx) cidstr = hs.cidstr(cx) print('------------------') print('[dev] Chip Info ') infostr_list = [ cidstr, 'notes=%r' % notes, 'cx=%r' % cx, 'gx=%r' % gx, 'nx=%r' % nx, 'name=%r' % name, 'gname=%r' % gname, 'len(kpts)=%r' % len(kpts), 'nGroundTruth = %s ' % str(len(gt_cxs)), 'nIndexedGroundTruth = %s ' % str(len(indexed_gt_cxs)), 'Ground Truth: %s' % (hs.cidstr(gt_cxs),), 'IndexedGroundTruth = %s' % (hs.cidstr(indexed_gt_cxs),), ] print(helpers.indent('\n'.join(infostr_list), ' ')) return locals()
def __str__(allres): #print = tores.append hs = allres.hs toret = ('+======================\n') scalar_summary = str(allres.scalar_summary).strip() toret += ('| All Results: %s \n' % hs.get_db_name()) toret += ('| title_suffix=%s\n' % str(allres.title_suffix)) toret += ('| scalar_summary=\n%s\n' % helpers.indent(scalar_summary, '| ')) toret += ('| ' + str(allres.scalar_mAP_str)) toret += ('|---\n') toret += ('| greater5_%s \n' % (hs.cidstr(allres.greater5_cxs),)) toret += ('|---\n') toret += ('| greater1_%s \n' % (hs.cidstr(allres.greater1_cxs),)) toret += ('|---\n') toret += ('+======================.\n') #toret+=('| problem_false_pairs=\n%r' % allres.problem_false_pairs) #toret+=('| problem_true_pairs=\n%r' % allres.problem_true_pairs) return toret
def __str__(allres): #print = tores.append hs = allres.hs toret = ('+======================\n') scalar_summary = str(allres.scalar_summary).strip() toret += ('| All Results: %s \n' % hs.get_db_name()) toret += ('| title_suffix=%s\n' % str(allres.title_suffix)) toret += ('| scalar_summary=\n%s\n' % helpers.indent(scalar_summary, '| ')) toret += ('| ' + str(allres.scalar_mAP_str)) toret += ('|---\n') toret += ('| greater5_%s \n' % (hs.cidstr(allres.greater5_cxs), )) toret += ('|---\n') toret += ('| greater1_%s \n' % (hs.cidstr(allres.greater1_cxs), )) toret += ('|---\n') toret += ('+======================.\n') #toret+=('| problem_false_pairs=\n%r' % allres.problem_false_pairs) #toret+=('| problem_true_pairs=\n%r' % allres.problem_true_pairs) return toret
def precompute_akmeans(data, num_clusters, max_iters=100, flann_params=None, cache_dir=None, force_recomp=False, same_data=True, uid=''): 'precompute aproximate kmeans' if flann_params is None: flann_params = {} print('[algos] pre_akmeans()') if same_data: data_uid = helpers.hashstr_arr(data, 'dID') uid += data_uid clusters_fname = 'akmeans_clusters' datax2cl_fname = 'akmeans_datax2cl' try: if not force_recomp: clusters = io.smart_load(cache_dir, clusters_fname, uid, '.npy', can_fail=False) datax2_clusterx = io.smart_load(cache_dir, datax2cl_fname, uid, '.npy', can_fail=False) else: raise Exception('forcing') # Hack to refine akmeans with a few more iterations if '--refine' in sys.argv or '--refine-exit' in sys.argv: max_iters_override = helpers.get_arg('--refine', type_=int) print('Overriding max_iters=%r' % max_iters_override) if not max_iters_override is None: max_iters = max_iters_override datax2_clusterx_old = datax2_clusterx print('[algos] refining:') print('[algos] ' + '_'.join([clusters_fname, uid]) + '.npy') print('[algos] ' + '_'.join([datax2cl_fname, uid]) + '.npy') (datax2_clusterx, clusters) = __akmeans_iterate(data, clusters, datax2_clusterx_old, max_iters, flann_params, 0, 10) io.smart_save(clusters, cache_dir, clusters_fname, uid, '.npy') io.smart_save(datax2_clusterx, cache_dir, datax2cl_fname, uid, '.npy') if '--refine-exit' in sys.argv: print('exiting after refine') sys.exit(1) print('[algos] pre_akmeans(): ... loaded akmeans.') except Exception as ex: print('[algos] pre_akmeans(): ... could not load akmeans.') errstr = helpers.indent(repr(ex), '[algos] ') print('[algos] pre_akmeans(): ... caught ex:\n %s ' % errstr) print('[algos] pre_akmeans(): printing debug_smart_load') print('---- <DEBUG SMART LOAD>---') io.debug_smart_load(cache_dir, clusters_fname) io.debug_smart_load(cache_dir, datax2cl_fname) print('----</DEBUG SMART LOAD>---') #print('[algos] Press Ctrl+C to stop k-means early (and save)') #signal.signal(signal.SIGINT, force_quit_akmeans) # set ctrl+c behavior print('[algos] computing:') print('[algos] ' + '_'.join([clusters_fname, uid]) + '.npy') print('[algos] ' + '_'.join([datax2cl_fname, uid]) + '.npy') print('[algos] pre_akmeans(): calling akmeans') (datax2_clusterx, clusters) = akmeans(data, num_clusters, max_iters, flann_params) print('[algos] pre_akmeans(): finished running akmeans') io.smart_save(clusters, cache_dir, clusters_fname, uid, '.npy') io.smart_save(datax2_clusterx, cache_dir, datax2cl_fname, uid, '.npy') #print('[algos] Removing Ctrl+C signal handler') #signal.signal(signal.SIGINT, signal.SIG_DFL) # reset ctrl+c behavior print('[algos] pre_akmeans(): return') return (datax2_clusterx, clusters)
def get_valid_testcfg_names(): testcfg_keys = vars(experiment_configs).keys() testcfg_locals = [key for key in testcfg_keys if key.find('_') != 0] valid_cfg_names = helpers.indent('\n'.join(testcfg_locals), ' * ') return valid_cfg_names
def get_valid_testcfg_names(): testcfg_keys = vars(experiment_configs).keys() testcfg_locals = [key for key in testcfg_keys if key.find('_') != 0] valid_cfg_names = util.indent('\n'.join(testcfg_locals), ' * ') return valid_cfg_names
def precompute_akmeans(data, num_clusters, max_iters=100, flann_params=None, cache_dir=None, force_recomp=False, same_data=True, uid=''): 'precompute aproximate kmeans' if flann_params is None: flann_params = {} print('[algos] pre_akmeans()') if same_data: data_uid = helpers.hashstr_arr(data, 'dID') uid += data_uid clusters_fname = 'akmeans_clusters' datax2cl_fname = 'akmeans_datax2cl' try: if not force_recomp: clusters = io.smart_load(cache_dir, clusters_fname, uid, '.npy', can_fail=False) datax2_clusterx = io.smart_load(cache_dir, datax2cl_fname, uid, '.npy', can_fail=False) else: raise Exception('forcing') # Hack to refine akmeans with a few more iterations if '--refine' in sys.argv or '--refine-exit' in sys.argv: max_iters_override = helpers.get_arg('--refine', type_=int) print('Overriding max_iters=%r' % max_iters_override) if not max_iters_override is None: max_iters = max_iters_override datax2_clusterx_old = datax2_clusterx print('[algos] refining:') print('[algos] ' + '_'.join([clusters_fname, uid]) + '.npy') print('[algos] ' + '_'.join([datax2cl_fname, uid]) + '.npy') (datax2_clusterx, clusters) = __akmeans_iterate( data, clusters, datax2_clusterx_old, max_iters, flann_params, 0, 10) io.smart_save(clusters, cache_dir, clusters_fname, uid, '.npy') io.smart_save(datax2_clusterx, cache_dir, datax2cl_fname, uid, '.npy') if '--refine-exit' in sys.argv: print('exiting after refine') sys.exit(1) print('[algos] pre_akmeans(): ... loaded akmeans.') except Exception as ex: print('[algos] pre_akmeans(): ... could not load akmeans.') errstr = helpers.indent(repr(ex), '[algos] ') print('[algos] pre_akmeans(): ... caught ex:\n %s ' % errstr) print('[algos] pre_akmeans(): printing debug_smart_load') print('---- <DEBUG SMART LOAD>---') io.debug_smart_load(cache_dir, clusters_fname) io.debug_smart_load(cache_dir, datax2cl_fname) print('----</DEBUG SMART LOAD>---') #print('[algos] Press Ctrl+C to stop k-means early (and save)') #signal.signal(signal.SIGINT, force_quit_akmeans) # set ctrl+c behavior print('[algos] computing:') print('[algos] ' + '_'.join([clusters_fname, uid]) + '.npy') print('[algos] ' + '_'.join([datax2cl_fname, uid]) + '.npy') print('[algos] pre_akmeans(): calling akmeans') (datax2_clusterx, clusters) = akmeans(data, num_clusters, max_iters, flann_params) print('[algos] pre_akmeans(): finished running akmeans') io.smart_save(clusters, cache_dir, clusters_fname, uid, '.npy') io.smart_save(datax2_clusterx, cache_dir, datax2cl_fname, uid, '.npy') #print('[algos] Removing Ctrl+C signal handler') #signal.signal(signal.SIGINT, signal.SIG_DFL) # reset ctrl+c behavior print('[algos] pre_akmeans(): return') return (datax2_clusterx, clusters)