-
Notifications
You must be signed in to change notification settings - Fork 1
/
train_sst.sh
75 lines (69 loc) · 1.87 KB
/
train_sst.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
#!/usr/bin/env bash
train_spec(){
local activation=$1
python3 -m spec train \
--seed 42 \
--gpu-id 0 \
--output-dir "runs/test-sst-${activation}/" \
--save "data/saved-models/test-sst-${activation}/" \
--print-parameters-per-layer \
--final-report \
\
--corpus sst \
--train-path "data/corpus/sst/train.txt" \
--dev-path "data/corpus/sst/dev.txt" \
--test-path "data/corpus/sst/test.txt" \
--max-length 9999999 \
--min-length 0 \
\
--vocab-size 9999999 \
--vocab-min-frequency 1 \
--keep-rare-with-vectors \
--add-embeddings-vocab \
\
--embeddings-format "text" \
--embeddings-path "data/embs/glove/glove.840B.300d.small.raw.pickle.sst" \
--embeddings-binary \
--emb-dropout 0.0 \
--freeze-embeddings \
\
--model rnn_attn \
\
--rnn-type lstm \
--hidden-size 128 \
--bidirectional \
--rnn-dropout 0.0 \
\
--attn-type "regular" \
--attn-scorer "self_add" \
--attn-dropout 0.0 \
--attn-max-activation "${activation}" \
\
--loss-weights "same" \
--train-batch-size 8 \
--dev-batch-size 8 \
--epochs 10 \
--optimizer "adamw" \
--learning-rate 0.001 \
--weight-decay 0.0001 \
--save-best-only \
--early-stopping-patience 5 \
--restore-best-model
}
predict_spec(){
local activation=$1
python3 -m spec predict \
--gpu-id 0 \
--prediction-type classes \
--load "data/saved-models/test-sst-${activation}/" \
--corpus sst \
--test-path "data/corpus/sst/test.txt" \
--output-dir "data/predictions/test-sst-${activation}/" \
--dev-batch-size 4
}
train_spec "softmax"
predict_spec "softmax"
train_spec "sparsemax"
predict_spec "sparsemax"
train_spec "entmax15"
predict_spec "entmax15"