-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathevaluate.sh
80 lines (74 loc) · 1.93 KB
/
evaluate.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
seed=${1:-42}
# or xlm-roberta-base/large
model=${2:-"bert-base-multilingual-cased"}
task=${3:-"xnli"}
mode=${4:-"finetune"}
model_name=$(echo "$model" | tr '/' '\n' | tail -n1)
root_dir="${ROOT_DIR:-/bigdata}"
save_path="$root_dir"/checkpoints/crosslingual-nlp
case "$task" in
"xnli")
src="en"
tgt=(ar bg de el en es fr hi ru sw th tr ur vi zh)
data_path="$root_dir"/dataset/"$task"
;;
"ner-wiki")
src="en"
tgt=(ar de en es fr hi ru vi zh-word)
data_path="$root_dir"/dataset/"$task"
;;
"udpos" | "parsing")
src="English-EWT"
tgt=(Arabic-PADT German-GSD English-EWT Spanish-GSD French-GSD Hindi-HDTB Russian-GSD Vietnamese-VTB Chinese-GSD)
data_path="$root_dir"/dataset/universaldependencies/ud-treebanks-v2.6
;;
*)
echo Unsupported task "$task"
exit 1
;;
esac
case "$mode" in
"finetune")
ep=5
bs=32
lr=2e-5
val_check_interval=0.25
extra_args=()
;;
"feature")
ep=20
bs=128
if [ "$task" = "xnli" ] || [ "$task" = "ner-wiki" ]; then
lr=1e-4
else
lr=1e-3
fi
val_check_interval=1
if [ "$task" = "ner-wiki" ]; then
extra_args=(--projector transformer --projector_trm_num_layers 4 --freeze_layer 12 --weighted_feature True --tagger_use_crf True)
else
extra_args=(--projector transformer --projector_trm_num_layers 4 --freeze_layer 12 --weighted_feature True)
fi
;;
*)
echo Unsupported task "$mode"
exit 1
;;
esac
python src/train.py \
--seed "$seed" \
--task "$task" \
--data_dir "$data_path" \
--trn_langs $src \
--val_langs $src \
--tst_langs "${tgt[@]}" \
--pretrain "$model" \
--batch_size $bs \
--learning_rate $lr \
--max_epochs $ep \
--warmup_portion 0.1 \
--val_check_interval $val_check_interval \
--gpus 1 \
--default_save_path "$save_path"/"$task"/0-shot-"$mode"/"$model_name" \
--exp_name bs$bs-lr$lr-ep$ep "${extra_args[@]}"