Exemple #1
0
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()
Exemple #2
0
 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)
Exemple #3
0
 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)
Exemple #4
0
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
Exemple #6
0
 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
Exemple #7
0
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
Exemple #10
0
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)