summaryrefslogtreecommitdiff
path: root/tasks/train.sh
diff options
context:
space:
mode:
authorGustaf Rydholm <gustaf.rydholm@gmail.com>2021-03-20 18:09:06 +0100
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2021-03-20 18:09:06 +0100
commit7e8e54e84c63171e748bbf09516fd517e6821ace (patch)
tree996093f75a5d488dddf7ea1f159ed343a561ef89 /tasks/train.sh
parentb0719d84138b6bbe5f04a4982dfca673aea1a368 (diff)
Inital commit for refactoring to lightning
Diffstat (limited to 'tasks/train.sh')
-rwxr-xr-xtasks/train.sh68
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