示例#1
0
results = []
fun = 'ks'
method = 'Nelder-Mead'
for image in IDEAL:
    name = os.path.basename(image).split('.')[0]
    page, = metaomr.open(image)
    kimg = kan.KanungoImage(kan.normalized_page(page)[0])
    for i in xrange(3):
        params = random_params()
        synth = Page(kimg.degrade(params))
        synth.staff_dist = 8
        for maxfev in [25, 50]:
            start = datetime.now()
            est_params = kan.est_parameters(synth,
                                            test_fn=kan.test_hists_ks if fun
                                            == 'ks' else kan.test_hists_chisq,
                                            opt_method=method,
                                            maxfev=maxfev)
            end = datetime.now()
            cols.append((name, fun, maxfev, i))
            results.append(
                list(params) + list(est_params.x) + [
                    est_params.fun, (end - start).total_seconds(),
                    est_params.status, est_params.nfev
                ])
            sys.stderr.write('.')
    res = pd.DataFrame(results, columns=columns)
    res.index = pd.MultiIndex.from_tuples(cols)
    res.index.names = 'doc test maxfev num'.split()
    res.to_csv('kanungo_eval.csv')
sys.stderr.write('\n')
示例#2
0
        b = 0.5 + random() * 2
    k = randint(0, 4)
    return nu, a0, a, b0, b, k

columns = pd.MultiIndex.from_product([['real', 'estimate'], 'nu a0 a b0 b k'.split()])
columns = columns.append(pd.MultiIndex.from_product([['estimate'],['stat','time','status','nfev']]))
cols = []
results = []
fun = 'ks'
method = 'Nelder-Mead'
for image in IDEAL:
    name = os.path.basename(image).split('.')[0]
    page, = metaomr.open(image)
    kimg = kan.KanungoImage(kan.normalized_page(page)[0])
    for i in xrange(3):
        params = random_params()
        synth = Page(kimg.degrade(params))
        synth.staff_dist = 8
        for maxfev in [25, 50]:
            start = datetime.now()
            est_params = kan.est_parameters(synth, test_fn=kan.test_hists_ks if fun == 'ks' else kan.test_hists_chisq, opt_method=method, maxfev=maxfev)
            end = datetime.now()
            cols.append((name, fun, maxfev, i))
            results.append(list(params) + list(est_params.x) + [est_params.fun, (end - start).total_seconds(), est_params.status, est_params.nfev])
            sys.stderr.write('.')
    res = pd.DataFrame(results, columns=columns)
    res.index = pd.MultiIndex.from_tuples(cols)
    res.index.names = 'doc test maxfev num'.split()
    res.to_csv('kanungo_eval.csv')
sys.stderr.write('\n')
示例#3
0
import env
import metaomr
import metaomr.kanungo as k
import sys

page, = metaomr.open(sys.argv[1])
page.preprocess()
print k.est_parameters(page)