diff options
Diffstat (limited to 'tasks/train.sh')
-rwxr-xr-x | tasks/train.sh | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tasks/train.sh b/tasks/train.sh new file mode 100755 index 0000000..60cbd23 --- /dev/null +++ b/tasks/train.sh @@ -0,0 +1,68 @@ +#!/bin/bash + + +# Add checkpoint and resume experiment +usage() { + cat << EOF + usage: ./tasks/train_crnn_line_ctc_model.sh + -f | --experiment_config Name of the experiment config. + -c | --checkpoint (Optional) The experiment name to continue from. + -p | --pretrained_weights (Optional) Path to pretrained weights. + -n | --notrain (Optional) Evaluates a trained model. + -t | --test (Optional) If set, evaluates the model on test set. + -v | --verbose (Optional) Sets the verbosity. + -h | --help Shows this message. +EOF +exit 1 +} + +experiment_config="" +checkpoint="" +pretrained_weights="" +notrain="" +test="" +verbose="" +train_command="" + +while getopts 'f:c:p:nthv' flag; do + case "${flag}" in + f) experiment_config="${OPTARG}" ;; + c) checkpoint="${OPTARG}" ;; + p) pretrained_weights="${OPTARG}" ;; + n) notrain="--notrain" ;; + t) test="--test" ;; + v) verbose="${verbose}v" ;; + h) usage ;; + *) error "Unexpected option ${flag}" ;; + esac +done + + +if [ -z ${experiment_config} ]; +then + echo "experiment_config not specified!" + usage + exit 1 +fi + +experiments_filename="training/experiments/${experiment_config}" +train_command=$(bash tasks/prepare_experiments.sh $experiments_filename) + +if [ ${checkpoint} ]; +then + train_command="${train_command} --checkpoint $checkpoint" +fi + +if [ ${pretrained_weights} ]; +then + train_command="${train_command} --pretrained_weights $pretrained_weights" +fi + +if [ ${verbose} ]; +then + train_command="${train_command} -$verbose" +fi + +train_command="${train_command} $test $notrain" +echo $train_command +eval $train_command |