diff options
author | Peng Wu <alexepico@gmail.com> | 2011-07-25 13:23:33 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2011-07-25 13:23:33 +0800 |
commit | 224b933afc6e24c0a0c126d83bc449fc782e4f68 (patch) | |
tree | b4cd568edda11fedabec7d94f64dd88b0912a674 /tryprune.py | |
parent | 9cca4180400774231f64363c0f6acb87e5444f23 (diff) | |
download | trainer-224b933afc6e24c0a0c126d83bc449fc782e4f68.tar.gz trainer-224b933afc6e24c0a0c126d83bc449fc782e4f68.tar.xz trainer-224b933afc6e24c0a0c126d83bc449fc782e4f68.zip |
write tryprune.py in progress
Diffstat (limited to 'tryprune.py')
-rw-r--r-- | tryprune.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/tryprune.py b/tryprune.py index f86bd48..d0f3c8e 100644 --- a/tryprune.py +++ b/tryprune.py @@ -47,6 +47,25 @@ def exportModel(modelfile, textmodel): sys.exit('Corrupted model found when exporting:' + modelfile) #end processing +def convertModel(kmm_model, inter_model): + #begin processing + cmdline = ['./k_mixture_model_to_interpolation'] + + subprocess = Popen(cmdline, shell=False, stdin=PIPE, \ + stdout=PIPE, close_fds=True) + with open(kmm_model, 'rb') as f: + subprocess.stdin.writelines(f.readlines()) + f.close() + + with open(inter_model, 'wb') as f: + f.writelines(subprocess.stdout.readlines()) + f.close() + + (pid, status) = os.waitpid(subprocess.pid, 0) + if status != 0: + sys.exit('Corrupted model found when converting:' + kmm_model) + #end processing + def mergeOneModel(mergedmodel, onemodel, score): #validate first validateModel(onemodel) @@ -132,21 +151,32 @@ if __name__ == '__main__': print(args) tryname = 'try' + args.tryname #merge model candidates + print('merging') mergedmodel = os.path.join(config.getFinalDir(), tryname, 'merged.db') sortedindexname = os.path.join(args.modeldir, \ config.getSortedEstimateIndex()) mergeSomeModels(tryname, mergedmodel, sortedindexname, args.mergenumber) #export textual format + print('exporting') exportfile = os.path.join(config.getFinalDir(), tryname, 'kmm_merged.text') exportModel(mergedmodel, exportfile) #prune merged model + print('pruning') prunedmodel = os.path.join(config.getFinalDir(), tryname, 'pruned.db') #backup merged model shutil.copyfile(mergedmodel, prunedmodel) pruneModel(prunedmodel, args.k, args.CDF) #export textual format + print('exporting') exportfile = os.path.join(config.getFinalDir(), tryname, 'kmm_pruned.text') - exportModel(prunedmodel, exportModel) + exportModel(prunedmodel, exportfile) + + #convert to interpolation + print('converting') + kmm_model = exportfile + inter_model = os.path.join(config.getFinalDir(), tryname, \ + config.getFinalModelFileName()) + convertModel(kmm_model, inter_model) |