sleepyhead111's picture
Add files using upload-large-folder tool
de68f2b verified
# -*- Makefile -*-
rset = set=$2,type=$3,file=evaluation/$1/$2.$3
analyses = $(foreach e, ${eval-sets}, \
$(call rset,$1,$e,analysis-precision) \
$(call rset,$1,$e,analysis-coverage))
eval-scores = $(foreach e, ${eval-sets}, \
$(foreach m, ${eval-metrics}, \
$(call rset,$1,$e,$m)))
eval-results = $(foreach e, ${eval-sets}, \
$(foreach m, ${eval-metrics}, \
evaluation/$1/$e.$m))
.SECONDEXPANSION:
# NOTA BENE: setup-experiments.make adds additional dependencies for
# evaluation/%/report in the file experiments.make!
evaluation/%/report: sets = $(call eval-scores,$*)
#evaluation/%/report: sets += $(call analyses,$*)
#evaluation/%/report: tuned_moses_ini := $(if ${have_tuned_moses_ini},${have_tuned_moses_ini},tuning/$*/moses.tuned.ini)
evaluation/%/report: prereqs = $(call eval-results,$*)
evaluation/%/report: $$(prereqs)
echo $(foreach s, ${sets}, $s) $^
mkdir $@.lock
echo $(call lockline) > $@.lock/owner
${report} ${sets} > $@_
mv $@_ $@
rm $@.lock/owner
rmdir $@.lock
%.analysis: params1 = -input ${$(notdir $*)-src}
%.analysis: params1 += -input-corpus ${crp_train}.${L1}
%.analysis: params1 += -ttable ${ttable} -dir $@
%.analysis: params2 = -precision-by-coverage
%.analysis: params2 += -reference ${$(notdir $*)-ref}
%.analysis: params2 += -system $*.truecased
%.analysis: params2 += -segmentation $*.output
%.analysis: params2 += -system-alignment $*.output.wa
%.analysis: params2 += -coverage $@
%.analysis: | ${ttable} ${crp_train}.${L1}
%.analysis: %.output.wa %.output %.truecased
@echo ANALYSING $^
@mkdir $@.lock
@echo $(call lockline) > $@.lock/owner
${analyze} ${params1}
${analyze} ${params1} ${params2}
@rm$@.lock/owner
@rmdir $@.lock
%.multi-bleu: %.cleaned
$(info )
$(info RUNNING MULTI-BLEU on $^)
@mkdir $@.lock
@echo $(call lockline) > $@.lock/owner
${multi-bleu} ${$(notdir $*)-ref} < $< > $@_
@mv $@_ $@
@rm $@.lock/owner
@rmdir $@.lock
%.truecased: %.cleaned
mkdir $@.lock
$(detruecase) < $< > $@_
mv $@_ $@
rmdir $@.lock
%.cleaned: %.output
$(info )
$(info CLEANING UP DECODER OUTPUT: $<)
$(info )
mkdir $@.lock
echo $(call lockline) > $@.lock/owner
$(clean-decoder-output) < $< > $@_
mv $@_ $@
rm $@.lock/owner
rmdir $@.lock
%.output.wa: %.output
evaluation/%.output: decoder_flags += -threads ${moses.threads} -v 0
evaluation/%.output: decoder_flags += -inputtype ${input-type}
evaluation/%.output: decoder_flags += -alignment-output-file $@.wa
evaluation/%.output: decoder_flags += -t -text-type "test"
evaluation/%.output: decoder_flags += -f ${moses_ini}
evaluation/%.output: input = ${$(notdir $*)-src}
evaluation/%.output:
echo MOSES_INI = ${moses_ini}
@mkdir -p $(@D)
@mkdir $@.lock
@echo $(call lockline) > $@.lock/owner
${decode} ${decoder_flags} < ${input} > $@_
@mv $@_ $@
@rm $@.lock/owner
@rmdir $@.lock
.SECONDARY: