summaryrefslogtreecommitdiff
path: root/realtime/mkconfig.py
diff options
context:
space:
mode:
Diffstat (limited to 'realtime/mkconfig.py')
-rwxr-xr-xrealtime/mkconfig.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/realtime/mkconfig.py b/realtime/mkconfig.py
index f193c57a..f9938051 100755
--- a/realtime/mkconfig.py
+++ b/realtime/mkconfig.py
@@ -12,11 +12,14 @@ from cdec.configobj import ConfigObj
def main():
- if len(sys.argv[1:]) != 12:
- sys.stderr.write('usage: {} a.fwd_params a.fwd_err a.rev_params a.rev_err sa sa.ini mono.klm libcdec_ff_hpyplm.so corpus.hpyplm cdec.ini weights.final output.d\n'.format(sys.argv[0]))
+ if len(sys.argv[1:]) not in (10, 12):
+ sys.stderr.write('usage: {} a.fwd_params a.fwd_err a.rev_params a.rev_err sa sa.ini mono.klm cdec.ini weights.final output.d [libcdec_ff_hpyplm.so corpus.hpyplm]\n'.format(sys.argv[0]))
sys.exit(2)
- (a_fwd_params, a_fwd_err, a_rev_params, a_rev_err, sa, sa_ini, mono_klm, libcdec_ff_hpyplm_so, corpus_hpyplm, cdec_ini, weights_final, output_d) = sys.argv[1:]
+ (a_fwd_params, a_fwd_err, a_rev_params, a_rev_err, sa, sa_ini, mono_klm, cdec_ini, weights_final, output_d) = sys.argv[1:11]
+
+ # Optional
+ (libcdec_ff_hpyplm_so, corpus_hpyplm) = sys.argv[11:13] if len(sys.argv[1:]) == 12 else (None, None)
if os.path.exists(output_d):
sys.stderr.write('Directory {} exists, exiting.\n'.format(output_d))
@@ -40,8 +43,10 @@ def main():
# language models
shutil.copy(mono_klm, os.path.join(output_d, 'mono.klm'))
- shutil.copy(libcdec_ff_hpyplm_so, os.path.join(output_d, 'libcdec_ff_hpyplm.so'))
- shutil.copy(corpus_hpyplm, os.path.join(output_d, 'corpus.hpyplm'))
+ if libcdec_ff_hpyplm_so:
+ shutil.copy(libcdec_ff_hpyplm_so, os.path.join(output_d, 'libcdec_ff_hpyplm.so'))
+ if corpus_hpyplm:
+ shutil.copy(corpus_hpyplm, os.path.join(output_d, 'corpus.hpyplm'))
# decoder config
config = [[f.strip() for f in line.split('=')] for line in open(cdec_ini)]
@@ -52,6 +57,16 @@ def main():
# weights
shutil.copy(weights_final, os.path.join(output_d, 'weights.final'))
+
+ # other options
+ rt_ini = os.path.join(output_d, 'rt.ini')
+ with open(rt_ini, 'w') as out:
+ if libcdec_ff_hpyplm_so and corpus_hpyplm:
+ out.write('hpyplm=true\n')
+ else:
+ out.write('hpyplm=false\n')
+ out.write('metric=ibm_bleu\n')
+ sys.stderr.write('IMPORTANT: add any additional options such as metric=meteor to {}\n'.format(rt_ini))
if __name__ == '__main__':
main()