summaryrefslogtreecommitdiff
path: root/src/tasks/train.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/tasks/train.sh')
-rwxr-xr-xsrc/tasks/train.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/tasks/train.sh b/src/tasks/train.sh
new file mode 100755
index 0000000..1fbc8d7
--- /dev/null
+++ b/src/tasks/train.sh
@@ -0,0 +1,67 @@
+#!/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=$(./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
+
+
+echo $train_command $notrain $test
+eval $train_command $notrain $test