summaryrefslogtreecommitdiffstats
path: root/tryprune.py
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2011-07-25 13:23:33 +0800
committerPeng Wu <alexepico@gmail.com>2011-07-25 13:23:33 +0800
commit224b933afc6e24c0a0c126d83bc449fc782e4f68 (patch)
treeb4cd568edda11fedabec7d94f64dd88b0912a674 /tryprune.py
parent9cca4180400774231f64363c0f6acb87e5444f23 (diff)
downloadtrainer-224b933afc6e24c0a0c126d83bc449fc782e4f68.tar.gz
trainer-224b933afc6e24c0a0c126d83bc449fc782e4f68.tar.xz
trainer-224b933afc6e24c0a0c126d83bc449fc782e4f68.zip
write tryprune.py in progress
Diffstat (limited to 'tryprune.py')
-rw-r--r--tryprune.py32
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)