#!/usr/bin/env bash

OPENNMT_DIR=OpenNMT
CURRENT_DIR=$(pwd)
GPUID=1

cd ${OPENNMT_DIR} || exit 1

while [[ $# -gt 0 ]];do
    key="$1"
    shift # past key
    case $key in
        -g|--gpuid)
            GPUID="$1"
            shift
            ;;
        *)
            POSITIONAL+=("$key")
            ;;
    esac
done
# restore positional parameters
set -- "${POSITIONAL[@]}"
echo "Positional arguments: $*"

MODEL_FILE="${CURRENT_DIR}/$1"

th translate.lua \
   -model "${MODEL_FILE}" \
   -src "${CURRENT_DIR}/data/dev-lemmas-clean-hyp.txt" \
   -output "${CURRENT_DIR}/data/dev-pred.txt" \
   -replace_unk true \
   -gpuid "${GPUID}"

th translate.lua \
   -model "${MODEL_FILE}" \
   -src "${CURRENT_DIR}/data/test-output-clean-hyp.txt" \
   -output "${CURRENT_DIR}/data/test-pred.txt" \
   -replace_unk true \
   -gpuid "${GPUID}"

echo "Bleu Score:"
echo "For test dataset:"
th tools/score.lua -scorer bleu "${CURRENT_DIR}/data/test-sentences-ref.txt" \
   < "${CURRENT_DIR}/data/test-pred.txt"
echo "For dev dataset:"
th tools/score.lua -scorer bleu "${CURRENT_DIR}/data/dev-sentences-ref.txt" \
   < "${CURRENT_DIR}/data/dev-pred.txt"

cd "${CURRENT_DIR}" || exit 1
