Poookeman commited on
Commit
b66049d
·
verified ·
1 Parent(s): 8891171

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/100epoch.pth +3 -0
  2. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/64epoch.pth +3 -0
  3. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/72epoch.pth +3 -0
  4. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/74epoch.pth +3 -0
  5. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/81epoch.pth +3 -0
  6. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/86epoch.pth +3 -0
  7. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/92epoch.pth +3 -0
  8. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/95epoch.pth +3 -0
  9. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/98epoch.pth +3 -0
  10. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/99epoch.pth +3 -0
  11. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/RESULTS.md +38 -0
  12. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/checkpoint.pth +3 -0
  13. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/config.yaml +5211 -0
  14. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/acc.png +0 -0
  15. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/backward_time.png +0 -0
  16. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/cer.png +0 -0
  17. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/cer_ctc.png +0 -0
  18. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/clip.png +0 -0
  19. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/forward_time.png +0 -0
  20. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/gpu_max_cached_mem_GB.png +0 -0
  21. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/grad_norm.png +0 -0
  22. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/iter_time.png +0 -0
  23. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/loss.png +0 -0
  24. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/loss_att.png +0 -0
  25. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/loss_ctc.png +0 -0
  26. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/loss_scale.png +0 -0
  27. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/optim0_lr0.png +0 -0
  28. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/optim_step_time.png +0 -0
  29. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/train_time.png +0 -0
  30. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/wer.png +0 -0
  31. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/latest.pth +3 -0
  32. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/run.sh +1 -0
  33. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/train/events.out.tfevents.1720237326.bmi2.3524061.0 +3 -0
  34. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/train/events.out.tfevents.1721133711.bmi2.1781101.0 +3 -0
  35. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/train/events.out.tfevents.1721134148.bmi2.1856035.0 +3 -0
  36. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/valid/events.out.tfevents.1720237326.bmi2.3524061.1 +3 -0
  37. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/valid/events.out.tfevents.1721133711.bmi2.1781101.1 +3 -0
  38. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/valid/events.out.tfevents.1721134148.bmi2.1856035.1 +3 -0
  39. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/train.1.log +0 -0
  40. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/train.2.log +0 -0
  41. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/train.log +0 -0
  42. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/valid.acc.ave.pth +3 -0
  43. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/valid.acc.ave_10best.pth +3 -0
  44. checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/valid.acc.best.pth +3 -0
  45. src/Spike_driven/Q_transformer_encoder.py +397 -0
  46. src/Spike_driven/Q_trick.py +46 -0
  47. src/Spike_driven/Spike_driven_modules/Q_attention.py +455 -0
  48. src/Spike_driven/Spike_driven_modules/Q_positionwise_feed_forward.py +35 -0
  49. src/asr.py +635 -0
  50. src/conf/Librispeech/train_asr_Q_transformer3_HierDecayv2.yaml +64 -0
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/100epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0dd0daaefe2355e6b0151b39c8f53b350fc4f531973a9cff2cb5dfb6fffeaddf
3
+ size 398012507
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/64epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab1a15b413af7c42ce18c259b8fb17d33196e4195a9e2100ecd498a0626ef41a
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/72epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7ecbaecace577d8cafd1663294454dc1a1f1e26e2367df846e34411c28514d79
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/74epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e219419dd596a9af9ca66d2c07f7313798312122a37a9a3ffd8e931e32b89117
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/81epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b377bef5802f2e9c3f869171cf63538eb13e2783838e159caaa363396b058288
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/86epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cac0e8ed3cb48a764075095dace05f187f8fc060c991231a115b2883ae35bd76
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/92epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f18d055595cfb7665eca64e5079be6c0e7ed2d06871df4544f43dc9b81abcac6
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/95epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:88bb8537bd4761cf34777676b35a826f89ebefe561683f88ad9f7f31c453d310
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/98epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:323a4273ec9025bdbd076a7cb947c176d25d86ad8dd91c7922833adfcb7e55c0
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/99epoch.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b060bf5418cbd9020192dbed4490a99a803e47389627057a78d497138b8aa75d
3
+ size 398011377
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/RESULTS.md ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- Generated by scripts/utils/show_asr_result.sh -->
2
+ # RESULTS
3
+ ## Environments
4
+ - date: `Thu Jul 18 18:36:12 HKT 2024`
5
+ - python version: `3.8.19 (default, Mar 20 2024, 19:58:24) [GCC 11.2.0]`
6
+ - espnet version: `espnet 202402`
7
+ - pytorch version: `pytorch 1.13.1+cu117`
8
+ - Git hash: `19787b1793eda2b4007aa5b2c4d03adf6c18abfb`
9
+ - Commit date: `Fri Jun 14 19:27:35 2024 +0900`
10
+
11
+ ## exp/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7
12
+ ### WER
13
+
14
+ |dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err|
15
+ |---|---|---|---|---|---|---|---|---|
16
+ |decode_asr_asr_model_valid.acc.ave/dev_clean|2703|54402|97.2|2.5|0.3|0.3|3.1|34.9|
17
+ |decode_asr_asr_model_valid.acc.ave/dev_other|2864|50948|92.6|6.7|0.7|0.9|8.3|56.5|
18
+ |decode_asr_asr_model_valid.acc.ave/test_clean|2620|52576|97.0|2.6|0.4|0.4|3.4|36.1|
19
+ |decode_asr_asr_model_valid.acc.ave/test_other|2939|52343|93.0|6.3|0.7|1.0|7.9|57.4|
20
+
21
+ ### CER
22
+
23
+ |dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err|
24
+ |---|---|---|---|---|---|---|---|---|
25
+ |decode_asr_asr_model_valid.acc.ave/dev_clean|2703|288456|99.2|0.4|0.4|0.3|1.2|34.9|
26
+ |decode_asr_asr_model_valid.acc.ave/dev_other|2864|265951|97.1|1.7|1.2|1.0|3.8|56.5|
27
+ |decode_asr_asr_model_valid.acc.ave/test_clean|2620|281530|99.0|0.4|0.5|0.4|1.3|36.1|
28
+ |decode_asr_asr_model_valid.acc.ave/test_other|2939|272758|97.5|1.5|1.0|1.0|3.5|57.4|
29
+
30
+ ### TER
31
+
32
+ |dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err|
33
+ |---|---|---|---|---|---|---|---|---|
34
+ |decode_asr_asr_model_valid.acc.ave/dev_clean|2703|68010|96.7|2.4|0.9|0.5|3.9|34.9|
35
+ |decode_asr_asr_model_valid.acc.ave/dev_other|2864|63110|91.3|6.5|2.3|1.4|10.1|56.5|
36
+ |decode_asr_asr_model_valid.acc.ave/test_clean|2620|65818|96.3|2.5|1.2|0.5|4.2|36.1|
37
+ |decode_asr_asr_model_valid.acc.ave/test_other|2939|65101|91.7|5.9|2.3|1.2|9.4|57.4|
38
+
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/checkpoint.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:105b0b5d675fbdb31e2909bf6e275e154fb42673d91052d0a1e331e1e00940a1
3
+ size 1193162349
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/config.yaml ADDED
@@ -0,0 +1,5211 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ config: conf/tuning/SNN/train_asr_Q_transformer3_HierDecayv2.yaml
2
+ print_config: false
3
+ log_level: INFO
4
+ drop_last_iter: false
5
+ dry_run: false
6
+ iterator_type: sequence
7
+ valid_iterator_type: null
8
+ output_dir: exp/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7
9
+ ngpu: 1
10
+ seed: 0
11
+ num_workers: 1
12
+ num_att_plot: 3
13
+ dist_backend: nccl
14
+ dist_init_method: env://
15
+ dist_world_size: 4
16
+ dist_rank: 0
17
+ local_rank: 0
18
+ dist_master_addr: localhost
19
+ dist_master_port: 38893
20
+ dist_launcher: null
21
+ multiprocessing_distributed: true
22
+ unused_parameters: false
23
+ sharded_ddp: false
24
+ cudnn_enabled: true
25
+ cudnn_benchmark: false
26
+ cudnn_deterministic: true
27
+ collect_stats: false
28
+ write_collected_feats: false
29
+ max_epoch: 100
30
+ patience: null
31
+ val_scheduler_criterion:
32
+ - valid
33
+ - loss
34
+ early_stopping_criterion:
35
+ - valid
36
+ - loss
37
+ - min
38
+ best_model_criterion:
39
+ - - valid
40
+ - acc
41
+ - max
42
+ keep_nbest_models: 10
43
+ nbest_averaging_interval: 0
44
+ grad_clip: 5.0
45
+ grad_clip_type: 2.0
46
+ grad_noise: false
47
+ accum_grad: 2
48
+ no_forward_run: false
49
+ resume: true
50
+ train_dtype: float32
51
+ use_amp: true
52
+ log_interval: null
53
+ use_matplotlib: true
54
+ use_tensorboard: true
55
+ create_graph_in_tensorboard: false
56
+ use_wandb: false
57
+ wandb_project: null
58
+ wandb_id: null
59
+ wandb_entity: null
60
+ wandb_name: null
61
+ wandb_model_log_interval: -1
62
+ detect_anomaly: false
63
+ use_adapter: false
64
+ adapter: lora
65
+ save_strategy: all
66
+ adapter_conf: {}
67
+ pretrain_path: null
68
+ init_param: []
69
+ ignore_init_mismatch: false
70
+ freeze_param: []
71
+ num_iters_per_epoch: null
72
+ batch_size: 20
73
+ valid_batch_size: null
74
+ batch_bins: 45000000
75
+ valid_batch_bins: null
76
+ train_shape_file:
77
+ - exp/asr_stats_raw_en_bpe5000_sp/train/speech_shape
78
+ - exp/asr_stats_raw_en_bpe5000_sp/train/text_shape.bpe
79
+ valid_shape_file:
80
+ - exp/asr_stats_raw_en_bpe5000_sp/valid/speech_shape
81
+ - exp/asr_stats_raw_en_bpe5000_sp/valid/text_shape.bpe
82
+ batch_type: numel
83
+ valid_batch_type: null
84
+ fold_length:
85
+ - 80000
86
+ - 150
87
+ sort_in_batch: descending
88
+ shuffle_within_batch: false
89
+ sort_batch: descending
90
+ multiple_iterator: false
91
+ chunk_length: 500
92
+ chunk_shift_ratio: 0.5
93
+ num_cache_chunks: 1024
94
+ chunk_excluded_key_prefixes: []
95
+ chunk_default_fs: null
96
+ chunk_max_abs_length: null
97
+ chunk_discard_short_samples: true
98
+ train_data_path_and_name_and_type:
99
+ - - dump/raw/train_960_sp/wav.scp
100
+ - speech
101
+ - sound
102
+ - - dump/raw/train_960_sp/text
103
+ - text
104
+ - text
105
+ valid_data_path_and_name_and_type:
106
+ - - dump/raw/dev/wav.scp
107
+ - speech
108
+ - sound
109
+ - - dump/raw/dev/text
110
+ - text
111
+ - text
112
+ allow_variable_data_keys: false
113
+ max_cache_size: 0.0
114
+ max_cache_fd: 32
115
+ allow_multi_rates: false
116
+ valid_max_cache_size: null
117
+ exclude_weight_decay: false
118
+ exclude_weight_decay_conf: {}
119
+ optim: adam
120
+ optim_conf:
121
+ lr: 0.002
122
+ scheduler: warmuplr
123
+ scheduler_conf:
124
+ warmup_steps: 25000
125
+ token_list:
126
+ - <blank>
127
+ - <unk>
128
+ - ▁THE
129
+ - S
130
+ - ▁AND
131
+ - ▁OF
132
+ - ▁TO
133
+ - ▁A
134
+ - ▁IN
135
+ - ▁I
136
+ - ▁HE
137
+ - ▁THAT
138
+ - ▁WAS
139
+ - ED
140
+ - ▁IT
141
+ - ''''
142
+ - ▁HIS
143
+ - ING
144
+ - ▁YOU
145
+ - ▁WITH
146
+ - ▁FOR
147
+ - ▁HAD
148
+ - T
149
+ - ▁AS
150
+ - ▁HER
151
+ - ▁IS
152
+ - ▁BE
153
+ - ▁BUT
154
+ - ▁NOT
155
+ - ▁SHE
156
+ - D
157
+ - ▁AT
158
+ - ▁ON
159
+ - LY
160
+ - ▁HIM
161
+ - ▁THEY
162
+ - ▁ALL
163
+ - ▁HAVE
164
+ - ▁BY
165
+ - ▁SO
166
+ - ▁THIS
167
+ - ▁MY
168
+ - ▁WHICH
169
+ - ▁ME
170
+ - ▁SAID
171
+ - ▁FROM
172
+ - ▁ONE
173
+ - Y
174
+ - E
175
+ - ▁WERE
176
+ - ▁WE
177
+ - ▁NO
178
+ - N
179
+ - ▁THERE
180
+ - ▁OR
181
+ - ER
182
+ - ▁AN
183
+ - ▁WHEN
184
+ - ▁ARE
185
+ - ▁THEIR
186
+ - ▁WOULD
187
+ - ▁IF
188
+ - ▁WHAT
189
+ - ▁THEM
190
+ - ▁WHO
191
+ - ▁OUT
192
+ - M
193
+ - ▁DO
194
+ - ▁WILL
195
+ - ▁UP
196
+ - ▁BEEN
197
+ - P
198
+ - R
199
+ - ▁MAN
200
+ - ▁THEN
201
+ - ▁COULD
202
+ - ▁MORE
203
+ - C
204
+ - ▁INTO
205
+ - ▁NOW
206
+ - ▁VERY
207
+ - ▁YOUR
208
+ - ▁SOME
209
+ - ▁LITTLE
210
+ - ES
211
+ - ▁TIME
212
+ - RE
213
+ - ▁CAN
214
+ - ▁LIKE
215
+ - LL
216
+ - ▁ABOUT
217
+ - ▁HAS
218
+ - ▁THAN
219
+ - ▁DID
220
+ - ▁UPON
221
+ - ▁OVER
222
+ - IN
223
+ - ▁ANY
224
+ - ▁WELL
225
+ - ▁ONLY
226
+ - B
227
+ - ▁SEE
228
+ - ▁GOOD
229
+ - ▁OTHER
230
+ - ▁TWO
231
+ - L
232
+ - ▁KNOW
233
+ - ▁GO
234
+ - ▁DOWN
235
+ - ▁BEFORE
236
+ - A
237
+ - AL
238
+ - ▁OUR
239
+ - ▁OLD
240
+ - ▁SHOULD
241
+ - ▁MADE
242
+ - ▁AFTER
243
+ - ▁GREAT
244
+ - ▁DAY
245
+ - ▁MUST
246
+ - ▁COME
247
+ - ▁HOW
248
+ - ▁SUCH
249
+ - ▁CAME
250
+ - LE
251
+ - ▁WHERE
252
+ - ▁US
253
+ - ▁NEVER
254
+ - ▁THESE
255
+ - ▁MUCH
256
+ - ▁DE
257
+ - ▁MISTER
258
+ - ▁WAY
259
+ - G
260
+ - ▁S
261
+ - ▁MAY
262
+ - ATION
263
+ - ▁LONG
264
+ - OR
265
+ - ▁AM
266
+ - ▁FIRST
267
+ - ▁BACK
268
+ - ▁OWN
269
+ - ▁RE
270
+ - ▁AGAIN
271
+ - ▁SAY
272
+ - ▁MEN
273
+ - ▁WENT
274
+ - ▁HIMSELF
275
+ - ▁HERE
276
+ - NESS
277
+ - ▁THINK
278
+ - V
279
+ - IC
280
+ - ▁EVEN
281
+ - ▁THOUGHT
282
+ - ▁HAND
283
+ - ▁JUST
284
+ - ▁O
285
+ - ▁UN
286
+ - VE
287
+ - ION
288
+ - ▁ITS
289
+ - 'ON'
290
+ - ▁MAKE
291
+ - ▁MIGHT
292
+ - ▁TOO
293
+ - K
294
+ - ▁AWAY
295
+ - ▁LIFE
296
+ - TH
297
+ - ▁WITHOUT
298
+ - ST
299
+ - ▁THROUGH
300
+ - ▁MOST
301
+ - ▁TAKE
302
+ - ▁DON
303
+ - ▁EVERY
304
+ - F
305
+ - O
306
+ - ▁SHALL
307
+ - ▁THOSE
308
+ - ▁EYES
309
+ - AR
310
+ - ▁STILL
311
+ - ▁LAST
312
+ - ▁HOUSE
313
+ - ▁HEAD
314
+ - ABLE
315
+ - ▁NOTHING
316
+ - ▁NIGHT
317
+ - ITY
318
+ - ▁LET
319
+ - ▁MANY
320
+ - ▁OFF
321
+ - ▁BEING
322
+ - ▁FOUND
323
+ - ▁WHILE
324
+ - EN
325
+ - ▁SAW
326
+ - ▁GET
327
+ - ▁PEOPLE
328
+ - ▁FACE
329
+ - ▁YOUNG
330
+ - CH
331
+ - ▁UNDER
332
+ - ▁ONCE
333
+ - ▁TELL
334
+ - AN
335
+ - ▁THREE
336
+ - ▁PLACE
337
+ - ▁ROOM
338
+ - ▁YET
339
+ - ▁SAME
340
+ - IL
341
+ - US
342
+ - U
343
+ - ▁FATHER
344
+ - ▁RIGHT
345
+ - EL
346
+ - ▁THOUGH
347
+ - ▁ANOTHER
348
+ - LI
349
+ - RI
350
+ - ▁HEART
351
+ - IT
352
+ - ▁PUT
353
+ - ▁TOOK
354
+ - ▁GIVE
355
+ - ▁EVER
356
+ - ▁E
357
+ - ▁PART
358
+ - ▁WORK
359
+ - ERS
360
+ - ▁LOOK
361
+ - ▁NEW
362
+ - ▁KING
363
+ - ▁MISSUS
364
+ - ▁SIR
365
+ - ▁LOVE
366
+ - ▁MIND
367
+ - ▁LOOKED
368
+ - W
369
+ - RY
370
+ - ▁ASKED
371
+ - ▁LEFT
372
+ - ET
373
+ - ▁LIGHT
374
+ - CK
375
+ - ▁DOOR
376
+ - ▁MOMENT
377
+ - RO
378
+ - ▁WORLD
379
+ - ▁THINGS
380
+ - ▁HOME
381
+ - UL
382
+ - ▁THING
383
+ - LA
384
+ - ▁WHY
385
+ - ▁MOTHER
386
+ - ▁ALWAYS
387
+ - ▁FAR
388
+ - FUL
389
+ - ▁WATER
390
+ - CE
391
+ - IVE
392
+ - UR
393
+ - ▁HEARD
394
+ - ▁SOMETHING
395
+ - ▁SEEMED
396
+ - I
397
+ - LO
398
+ - ▁BECAUSE
399
+ - OL
400
+ - ▁END
401
+ - ▁TOLD
402
+ - ▁CON
403
+ - ▁YES
404
+ - ▁GOING
405
+ - ▁GOT
406
+ - RA
407
+ - IR
408
+ - ▁WOMAN
409
+ - ▁GOD
410
+ - EST
411
+ - TED
412
+ - ▁FIND
413
+ - ▁KNEW
414
+ - ▁SOON
415
+ - ▁EACH
416
+ - ▁SIDE
417
+ - H
418
+ - TON
419
+ - MENT
420
+ - ▁OH
421
+ - NE
422
+ - Z
423
+ - LING
424
+ - ▁AGAINST
425
+ - TER
426
+ - ▁NAME
427
+ - ▁MISS
428
+ - ▁QUITE
429
+ - ▁WANT
430
+ - ▁YEARS
431
+ - ▁FEW
432
+ - ▁BETTER
433
+ - ENT
434
+ - ▁HALF
435
+ - ▁DONE
436
+ - ▁ALSO
437
+ - ▁BEGAN
438
+ - ▁HAVING
439
+ - ▁ENOUGH
440
+ - IS
441
+ - ▁LADY
442
+ - ▁WHOLE
443
+ - LESS
444
+ - ▁BOTH
445
+ - ▁SEEN
446
+ - ▁SET
447
+ - ▁WHITE
448
+ - ▁COURSE
449
+ - IES
450
+ - ▁VOICE
451
+ - ▁CALLED
452
+ - ▁D
453
+ - ▁EX
454
+ - ATE
455
+ - ▁TURNED
456
+ - ▁GAVE
457
+ - ▁C
458
+ - ▁POOR
459
+ - MAN
460
+ - UT
461
+ - NA
462
+ - ▁DEAR
463
+ - ISH
464
+ - ▁GIRL
465
+ - ▁MORNING
466
+ - ▁BETWEEN
467
+ - LED
468
+ - ▁NOR
469
+ - IA
470
+ - ▁AMONG
471
+ - MA
472
+ - ▁
473
+ - ▁SMALL
474
+ - ▁REST
475
+ - ▁WHOM
476
+ - ▁FELT
477
+ - ▁HANDS
478
+ - ▁MYSELF
479
+ - ▁HIGH
480
+ - ▁M
481
+ - ▁HOWEVER
482
+ - ▁HERSELF
483
+ - ▁P
484
+ - CO
485
+ - ▁STOOD
486
+ - ID
487
+ - ▁KIND
488
+ - ▁HUNDRED
489
+ - AS
490
+ - ▁ROUND
491
+ - ▁ALMOST
492
+ - TY
493
+ - ▁SINCE
494
+ - ▁G
495
+ - AM
496
+ - ▁LA
497
+ - SE
498
+ - ▁BOY
499
+ - ▁MA
500
+ - ▁PERHAPS
501
+ - ▁WORDS
502
+ - ATED
503
+ - ▁HO
504
+ - X
505
+ - ▁MO
506
+ - ▁SAT
507
+ - ▁REPLIED
508
+ - ▁FOUR
509
+ - ▁ANYTHING
510
+ - ▁TILL
511
+ - ▁UNTIL
512
+ - ▁BLACK
513
+ - TION
514
+ - ▁CRIED
515
+ - RU
516
+ - TE
517
+ - ▁FACT
518
+ - ▁HELP
519
+ - ▁NEXT
520
+ - ▁LOOKING
521
+ - ▁DOES
522
+ - ▁FRIEND
523
+ - ▁LAY
524
+ - ANCE
525
+ - ▁POWER
526
+ - ▁BROUGHT
527
+ - VER
528
+ - ▁FIRE
529
+ - ▁KEEP
530
+ - PO
531
+ - FF
532
+ - ▁COUNTRY
533
+ - ▁SEA
534
+ - ▁WORD
535
+ - ▁CAR
536
+ - ▁DAYS
537
+ - ▁TOGETHER
538
+ - ▁IMP
539
+ - ▁REASON
540
+ - KE
541
+ - ▁INDEED
542
+ - TING
543
+ - ▁MATTER
544
+ - ▁FULL
545
+ - ▁TEN
546
+ - TIC
547
+ - ▁LAND
548
+ - ▁RATHER
549
+ - ▁AIR
550
+ - ▁HOPE
551
+ - ▁DA
552
+ - ▁OPEN
553
+ - ▁FEET
554
+ - ▁EN
555
+ - ▁FIVE
556
+ - ▁POINT
557
+ - ▁CO
558
+ - OM
559
+ - ▁LARGE
560
+ - ▁B
561
+ - ▁CL
562
+ - ME
563
+ - ▁GONE
564
+ - ▁CHILD
565
+ - INE
566
+ - GG
567
+ - ▁BEST
568
+ - ▁DIS
569
+ - UM
570
+ - ▁HARD
571
+ - ▁LORD
572
+ - OUS
573
+ - ▁WIFE
574
+ - ▁SURE
575
+ - ▁FORM
576
+ - DE
577
+ - ▁DEATH
578
+ - ANT
579
+ - ▁NATURE
580
+ - ▁BA
581
+ - ▁CARE
582
+ - ▁BELIEVE
583
+ - PP
584
+ - ▁NEAR
585
+ - ▁RO
586
+ - ▁RED
587
+ - ▁WAR
588
+ - IE
589
+ - ▁SPEAK
590
+ - ▁FEAR
591
+ - ▁CASE
592
+ - ▁TAKEN
593
+ - ▁ALONG
594
+ - ▁CANNOT
595
+ - ▁HEAR
596
+ - ▁THEMSELVES
597
+ - CI
598
+ - ▁PRESENT
599
+ - AD
600
+ - ▁MASTER
601
+ - ▁SON
602
+ - ▁THUS
603
+ - ▁LI
604
+ - ▁LESS
605
+ - ▁SUN
606
+ - ▁TRUE
607
+ - IM
608
+ - IOUS
609
+ - ▁THOUSAND
610
+ - ▁MONEY
611
+ - ▁W
612
+ - ▁BEHIND
613
+ - ▁CHILDREN
614
+ - ▁DOCTOR
615
+ - AC
616
+ - ▁TWENTY
617
+ - ▁WISH
618
+ - ▁SOUND
619
+ - ▁WHOSE
620
+ - ▁LEAVE
621
+ - ▁ANSWERED
622
+ - ▁THOU
623
+ - ▁DUR
624
+ - ▁HA
625
+ - ▁CERTAIN
626
+ - ▁PO
627
+ - ▁PASSED
628
+ - GE
629
+ - TO
630
+ - ▁ARM
631
+ - ▁LO
632
+ - ▁STATE
633
+ - ▁ALONE
634
+ - TA
635
+ - ▁SHOW
636
+ - ▁NEED
637
+ - ▁LIVE
638
+ - ND
639
+ - ▁DEAD
640
+ - ENCE
641
+ - ▁STRONG
642
+ - ▁PRE
643
+ - ▁TI
644
+ - ▁GROUND
645
+ - SH
646
+ - TI
647
+ - ▁SHORT
648
+ - IAN
649
+ - UN
650
+ - ▁PRO
651
+ - ▁HORSE
652
+ - MI
653
+ - ▁PRINCE
654
+ - ARD
655
+ - ▁FELL
656
+ - ▁ORDER
657
+ - ▁CALL
658
+ - AT
659
+ - ▁GIVEN
660
+ - ▁DARK
661
+ - ▁THEREFORE
662
+ - ▁CLOSE
663
+ - ▁BODY
664
+ - ▁OTHERS
665
+ - ▁SENT
666
+ - ▁SECOND
667
+ - ▁OFTEN
668
+ - ▁CA
669
+ - ▁MANNER
670
+ - MO
671
+ - NI
672
+ - ▁BRING
673
+ - ▁QUESTION
674
+ - ▁HOUR
675
+ - ▁BO
676
+ - AGE
677
+ - ▁ST
678
+ - ▁TURN
679
+ - ▁TABLE
680
+ - ▁GENERAL
681
+ - ▁EARTH
682
+ - ▁BED
683
+ - ▁REALLY
684
+ - ▁SIX
685
+ - 'NO'
686
+ - IST
687
+ - ▁BECOME
688
+ - ▁USE
689
+ - ▁READ
690
+ - ▁SE
691
+ - ▁VI
692
+ - ▁COMING
693
+ - ▁EVERYTHING
694
+ - ▁EM
695
+ - ▁ABOVE
696
+ - ▁EVENING
697
+ - ▁BEAUTIFUL
698
+ - ▁FEEL
699
+ - ▁RAN
700
+ - ▁LEAST
701
+ - ▁LAW
702
+ - ▁ALREADY
703
+ - ▁MEAN
704
+ - ▁ROSE
705
+ - WARD
706
+ - ▁ITSELF
707
+ - ▁SOUL
708
+ - ▁SUDDENLY
709
+ - ▁AROUND
710
+ - RED
711
+ - ▁ANSWER
712
+ - ICAL
713
+ - ▁RA
714
+ - ▁WIND
715
+ - ▁FINE
716
+ - ▁WON
717
+ - ▁WHETHER
718
+ - ▁KNOWN
719
+ - BER
720
+ - NG
721
+ - ▁TA
722
+ - ▁CAPTAIN
723
+ - ▁EYE
724
+ - ▁PERSON
725
+ - ▁WOMEN
726
+ - ▁SORT
727
+ - ▁ASK
728
+ - ▁BROTHER
729
+ - ▁USED
730
+ - ▁HELD
731
+ - ▁BIG
732
+ - ▁RETURNED
733
+ - ▁STRANGE
734
+ - ▁BU
735
+ - ▁PER
736
+ - ▁FREE
737
+ - ▁EITHER
738
+ - ▁WITHIN
739
+ - ▁DOUBT
740
+ - ▁YEAR
741
+ - ▁CLEAR
742
+ - ▁SIGHT
743
+ - ▁GRA
744
+ - ▁LOST
745
+ - ▁KEPT
746
+ - ▁F
747
+ - PE
748
+ - ▁BAR
749
+ - ▁TOWN
750
+ - ▁SLEEP
751
+ - ARY
752
+ - ▁HAIR
753
+ - ▁FRIENDS
754
+ - ▁DREAM
755
+ - ▁FELLOW
756
+ - PER
757
+ - ▁DEEP
758
+ - QUE
759
+ - ▁BECAME
760
+ - ▁REAL
761
+ - ▁PAST
762
+ - ▁MAKING
763
+ - RING
764
+ - ▁COMP
765
+ - ▁ACT
766
+ - ▁BAD
767
+ - HO
768
+ - STER
769
+ - ▁YE
770
+ - ▁MEANS
771
+ - ▁RUN
772
+ - MEN
773
+ - ▁DAUGHTER
774
+ - ▁SENSE
775
+ - ▁CITY
776
+ - ▁SOMETIMES
777
+ - ▁TOWARDS
778
+ - ▁ROAD
779
+ - ▁SP
780
+ - ▁LU
781
+ - ▁READY
782
+ - ▁FOOT
783
+ - ▁COLD
784
+ - ▁SA
785
+ - ▁LETTER
786
+ - ▁ELSE
787
+ - ▁MAR
788
+ - ▁STA
789
+ - BE
790
+ - ▁TRUTH
791
+ - ▁LE
792
+ - BO
793
+ - ▁BUSINESS
794
+ - CHE
795
+ - ▁JOHN
796
+ - ▁SUBJECT
797
+ - ▁COURT
798
+ - ▁IDEA
799
+ - ILY
800
+ - ▁RIVER
801
+ - ATING
802
+ - ▁FAMILY
803
+ - HE
804
+ - ▁DIDN
805
+ - ▁GLAD
806
+ - ▁SEVERAL
807
+ - IAL
808
+ - ▁UNDERSTAND
809
+ - ▁SC
810
+ - ▁POSSIBLE
811
+ - ▁DIFFERENT
812
+ - ▁RETURN
813
+ - ▁ARMS
814
+ - ▁LOW
815
+ - ▁HOLD
816
+ - ▁TALK
817
+ - ▁RU
818
+ - ▁WINDOW
819
+ - ▁INTEREST
820
+ - ▁SISTER
821
+ - SON
822
+ - ▁SH
823
+ - ▁BLOOD
824
+ - ▁SAYS
825
+ - ▁CAP
826
+ - ▁DI
827
+ - ▁HUMAN
828
+ - ▁CAUSE
829
+ - NCE
830
+ - ▁THANK
831
+ - ▁LATE
832
+ - GO
833
+ - ▁CUT
834
+ - ▁ACROSS
835
+ - ▁STORY
836
+ - NT
837
+ - ▁COUNT
838
+ - ▁ABLE
839
+ - DY
840
+ - LEY
841
+ - ▁NUMBER
842
+ - ▁STAND
843
+ - ▁CHURCH
844
+ - ▁THY
845
+ - ▁SUPPOSE
846
+ - LES
847
+ - BLE
848
+ - OP
849
+ - ▁EFFECT
850
+ - BY
851
+ - ▁K
852
+ - ▁NA
853
+ - ▁SPOKE
854
+ - ▁MET
855
+ - ▁GREEN
856
+ - ▁HUSBAND
857
+ - ▁RESPECT
858
+ - ▁PA
859
+ - ▁FOLLOWED
860
+ - ▁REMEMBER
861
+ - ▁LONGER
862
+ - ▁AGE
863
+ - ▁TAKING
864
+ - ▁LINE
865
+ - ▁SEEM
866
+ - ▁HAPPY
867
+ - LAND
868
+ - EM
869
+ - ▁STAY
870
+ - ▁PLAY
871
+ - ▁COMMON
872
+ - ▁GA
873
+ - ▁BOOK
874
+ - ▁TIMES
875
+ - ▁OBJECT
876
+ - ▁SEVEN
877
+ - QUI
878
+ - DO
879
+ - UND
880
+ - ▁FL
881
+ - ▁PRETTY
882
+ - ▁FAIR
883
+ - WAY
884
+ - ▁WOOD
885
+ - ▁REACHED
886
+ - ▁APPEARED
887
+ - ▁SWEET
888
+ - ▁FALL
889
+ - BA
890
+ - ▁PASS
891
+ - ▁SIGN
892
+ - ▁TREE
893
+ - IONS
894
+ - ▁GARDEN
895
+ - ▁ILL
896
+ - ▁ART
897
+ - ▁REMAIN
898
+ - ▁OPENED
899
+ - ▁BRIGHT
900
+ - ▁STREET
901
+ - ▁TROUBLE
902
+ - ▁PAIN
903
+ - ▁CONTINUED
904
+ - ▁SCHOOL
905
+ - OUR
906
+ - ▁CARRIED
907
+ - ▁SAYING
908
+ - HA
909
+ - ▁CHANGE
910
+ - ▁FOLLOW
911
+ - ▁GOLD
912
+ - ▁SW
913
+ - ▁FEELING
914
+ - ▁COMMAND
915
+ - ▁BEAR
916
+ - ▁CERTAINLY
917
+ - ▁BLUE
918
+ - ▁NE
919
+ - CA
920
+ - ▁WILD
921
+ - ▁ACCOUNT
922
+ - ▁OUGHT
923
+ - UD
924
+ - ▁T
925
+ - ▁BREATH
926
+ - ▁WANTED
927
+ - ▁RI
928
+ - ▁HEAVEN
929
+ - ▁PURPOSE
930
+ - ▁CHARACTER
931
+ - ▁RICH
932
+ - ▁PE
933
+ - ▁DRESS
934
+ - OS
935
+ - FA
936
+ - ▁TH
937
+ - ▁ENGLISH
938
+ - ▁CHANCE
939
+ - ▁SHIP
940
+ - ▁VIEW
941
+ - ▁TOWARD
942
+ - AK
943
+ - ▁JOY
944
+ - ▁JA
945
+ - ▁HAR
946
+ - ▁NEITHER
947
+ - ▁FORCE
948
+ - ▁UNCLE
949
+ - DER
950
+ - ▁PLAN
951
+ - ▁PRINCESS
952
+ - DI
953
+ - ▁CHIEF
954
+ - ▁HAT
955
+ - ▁LIVED
956
+ - ▁AB
957
+ - ▁VISIT
958
+ - ▁MOR
959
+ - TEN
960
+ - ▁WALL
961
+ - UC
962
+ - ▁MINE
963
+ - ▁PLEASURE
964
+ - ▁SMILE
965
+ - ▁FRONT
966
+ - ▁HU
967
+ - ▁DEAL
968
+ - OW
969
+ - ▁FURTHER
970
+ - GED
971
+ - ▁TRIED
972
+ - DA
973
+ - VA
974
+ - ▁NONE
975
+ - ▁ENTERED
976
+ - ▁QUEEN
977
+ - ▁PAY
978
+ - ▁EL
979
+ - ▁EXCEPT
980
+ - ▁SHA
981
+ - ▁FORWARD
982
+ - ▁EIGHT
983
+ - ▁ADDED
984
+ - ▁PUBLIC
985
+ - ▁EIGHTEEN
986
+ - ▁STAR
987
+ - ▁HAPPENED
988
+ - ▁LED
989
+ - ▁WALKED
990
+ - ▁ALTHOUGH
991
+ - ▁LATER
992
+ - ▁SPIRIT
993
+ - ▁WALK
994
+ - ▁BIT
995
+ - ▁MEET
996
+ - LIN
997
+ - ▁FI
998
+ - LT
999
+ - ▁MOUTH
1000
+ - ▁WAIT
1001
+ - ▁HOURS
1002
+ - ▁LIVING
1003
+ - ▁YOURSELF
1004
+ - ▁FAST
1005
+ - ▁CHA
1006
+ - ▁HALL
1007
+ - ▁BEYOND
1008
+ - ▁BOAT
1009
+ - ▁SECRET
1010
+ - ENS
1011
+ - ▁CHAIR
1012
+ - RN
1013
+ - ▁RECEIVED
1014
+ - ▁CAT
1015
+ - RESS
1016
+ - ▁DESIRE
1017
+ - ▁GENTLEMAN
1018
+ - UGH
1019
+ - ▁LAID
1020
+ - EVER
1021
+ - ▁OCCASION
1022
+ - ▁WONDER
1023
+ - ▁GU
1024
+ - ▁PARTY
1025
+ - DEN
1026
+ - ▁FISH
1027
+ - ▁SEND
1028
+ - ▁NEARLY
1029
+ - ▁TRY
1030
+ - CON
1031
+ - ▁SEEMS
1032
+ - RS
1033
+ - ▁BELL
1034
+ - ▁BRA
1035
+ - ▁SILENCE
1036
+ - IG
1037
+ - ▁GUARD
1038
+ - ▁DIE
1039
+ - ▁DOING
1040
+ - ▁TU
1041
+ - ▁COR
1042
+ - ▁EARLY
1043
+ - ▁BANK
1044
+ - ▁FIGURE
1045
+ - IF
1046
+ - ▁ENGLAND
1047
+ - ▁MARY
1048
+ - ▁AFRAID
1049
+ - LER
1050
+ - ▁FO
1051
+ - ▁WATCH
1052
+ - ▁FA
1053
+ - ▁VA
1054
+ - ▁GRE
1055
+ - ▁AUNT
1056
+ - PED
1057
+ - ▁SERVICE
1058
+ - ▁JE
1059
+ - ▁PEN
1060
+ - ▁MINUTES
1061
+ - ▁PAN
1062
+ - ▁TREES
1063
+ - NED
1064
+ - ▁GLASS
1065
+ - ▁TONE
1066
+ - ▁PLEASE
1067
+ - ▁FORTH
1068
+ - ▁CROSS
1069
+ - ▁EXCLAIMED
1070
+ - ▁DREW
1071
+ - ▁EAT
1072
+ - ▁AH
1073
+ - ▁GRAVE
1074
+ - ▁CUR
1075
+ - PA
1076
+ - URE
1077
+ - CENT
1078
+ - ▁MILES
1079
+ - ▁SOFT
1080
+ - ▁AGO
1081
+ - ▁POSITION
1082
+ - ▁WARM
1083
+ - ▁LENGTH
1084
+ - ▁NECESSARY
1085
+ - ▁THINKING
1086
+ - ▁PICTURE
1087
+ - ▁PI
1088
+ - SHIP
1089
+ - IBLE
1090
+ - ▁HEAVY
1091
+ - ▁ATTENTION
1092
+ - ▁DOG
1093
+ - ABLY
1094
+ - ▁STANDING
1095
+ - ▁NATURAL
1096
+ - ▁APPEAR
1097
+ - OV
1098
+ - ▁CAUGHT
1099
+ - VO
1100
+ - ISM
1101
+ - ▁SPRING
1102
+ - ▁EXPERIENCE
1103
+ - ▁PAT
1104
+ - OT
1105
+ - ▁STOPPED
1106
+ - ▁REGARD
1107
+ - ▁HARDLY
1108
+ - ▁SELF
1109
+ - ▁STRENGTH
1110
+ - ▁GREW
1111
+ - ▁KNIGHT
1112
+ - ▁OPINION
1113
+ - ▁WIDE
1114
+ - ▁INSTEAD
1115
+ - ▁SOUTH
1116
+ - ▁TRANS
1117
+ - ▁CORNER
1118
+ - ▁LEARN
1119
+ - ▁ISLAND
1120
+ - ▁MI
1121
+ - ▁THIRD
1122
+ - ▁STE
1123
+ - ▁STRAIGHT
1124
+ - ▁TEA
1125
+ - ▁BOUND
1126
+ - ▁SEEING
1127
+ - ▁JU
1128
+ - ▁DINNER
1129
+ - ▁BEAUTY
1130
+ - ▁PEACE
1131
+ - AH
1132
+ - ▁REP
1133
+ - ▁SILENT
1134
+ - ▁CRE
1135
+ - ALLY
1136
+ - RIC
1137
+ - ▁STEP
1138
+ - ▁VER
1139
+ - ▁JO
1140
+ - GER
1141
+ - ▁SITTING
1142
+ - ▁THIRTY
1143
+ - ▁SAVE
1144
+ - ENED
1145
+ - ▁GLANCE
1146
+ - ▁REACH
1147
+ - ▁ACTION
1148
+ - ▁SAL
1149
+ - ▁SAD
1150
+ - ▁STONE
1151
+ - ITIES
1152
+ - ▁FRENCH
1153
+ - ▁STRUCK
1154
+ - ▁PAPER
1155
+ - ▁WHATEVER
1156
+ - ▁SUB
1157
+ - ▁DISTANCE
1158
+ - ▁WRONG
1159
+ - ▁KNOWLEDGE
1160
+ - ▁SAFE
1161
+ - ▁SNOW
1162
+ - ▁MUSIC
1163
+ - ▁FIFTY
1164
+ - RON
1165
+ - ▁ATTEMPT
1166
+ - ▁GOVERNMENT
1167
+ - TU
1168
+ - ▁CROWD
1169
+ - ▁BESIDES
1170
+ - ▁LOVED
1171
+ - ▁BOX
1172
+ - ▁DIRECTION
1173
+ - ▁TRAIN
1174
+ - ▁NORTH
1175
+ - ▁THICK
1176
+ - ▁GETTING
1177
+ - AV
1178
+ - ▁FLOOR
1179
+ - ▁COMPANY
1180
+ - ▁BLOW
1181
+ - ▁PLAIN
1182
+ - TRO
1183
+ - ▁BESIDE
1184
+ - ▁ROCK
1185
+ - ▁IMMEDIATELY
1186
+ - FI
1187
+ - ▁SHADOW
1188
+ - ▁SIT
1189
+ - ORS
1190
+ - ILE
1191
+ - ▁DRINK
1192
+ - ▁SPOT
1193
+ - ▁DANGER
1194
+ - ▁AL
1195
+ - ▁SAINT
1196
+ - ▁SLOWLY
1197
+ - ▁PALACE
1198
+ - IER
1199
+ - ▁RESULT
1200
+ - ▁PETER
1201
+ - ▁FOREST
1202
+ - ▁BELONG
1203
+ - ▁SU
1204
+ - ▁PAR
1205
+ - RIS
1206
+ - ▁TEARS
1207
+ - ▁APPEARANCE
1208
+ - ▁GATE
1209
+ - BU
1210
+ - ITION
1211
+ - ▁QUICKLY
1212
+ - ▁QUIET
1213
+ - ▁LONDON
1214
+ - ▁START
1215
+ - ▁BROWN
1216
+ - TRA
1217
+ - KIN
1218
+ - ▁CONSIDER
1219
+ - ▁BATTLE
1220
+ - ▁ANNE
1221
+ - ▁PIECE
1222
+ - ▁DIED
1223
+ - ▁SUCCESS
1224
+ - ▁LIPS
1225
+ - ▁FILLED
1226
+ - ▁FORGET
1227
+ - ▁POST
1228
+ - IFIED
1229
+ - ▁MARGARET
1230
+ - ▁FOOD
1231
+ - HAM
1232
+ - ▁PLEASANT
1233
+ - ▁FE
1234
+ - ▁EXPRESSION
1235
+ - ▁POCKET
1236
+ - ▁FRESH
1237
+ - ▁WEAR
1238
+ - TRI
1239
+ - ▁BROKEN
1240
+ - ▁LAUGHED
1241
+ - GING
1242
+ - ▁FOLLOWING
1243
+ - WN
1244
+ - IP
1245
+ - ▁TOUCH
1246
+ - ▁YOUTH
1247
+ - ATIVE
1248
+ - ▁LEG
1249
+ - ▁WEEK
1250
+ - ▁REMAINED
1251
+ - ▁EASY
1252
+ - NER
1253
+ - RK
1254
+ - ▁ENTER
1255
+ - ▁FIGHT
1256
+ - ▁PLACED
1257
+ - ▁TRAVEL
1258
+ - ▁SIMPLE
1259
+ - ▁GIRLS
1260
+ - ▁WAITING
1261
+ - ▁STOP
1262
+ - ▁WAVE
1263
+ - AU
1264
+ - ▁WISE
1265
+ - ▁CAMP
1266
+ - TURE
1267
+ - UB
1268
+ - ▁VE
1269
+ - ▁OFFICE
1270
+ - ▁GRAND
1271
+ - ▁FIT
1272
+ - ▁JUDGE
1273
+ - UP
1274
+ - MENTS
1275
+ - ▁QUICK
1276
+ - HI
1277
+ - ▁FLO
1278
+ - RIES
1279
+ - VAL
1280
+ - ▁COMFORT
1281
+ - ▁PARTICULAR
1282
+ - ▁STARTED
1283
+ - ▁SUIT
1284
+ - ▁NI
1285
+ - ▁PALE
1286
+ - ▁IMPOSSIBLE
1287
+ - ▁HOT
1288
+ - ▁CONVERSATION
1289
+ - ▁SCENE
1290
+ - ▁BOYS
1291
+ - ▁WIN
1292
+ - ▁BRE
1293
+ - ▁SOCIETY
1294
+ - ▁OUTSIDE
1295
+ - ▁WRITE
1296
+ - ▁EFFORT
1297
+ - ▁TALKING
1298
+ - ▁FORTUNE
1299
+ - ▁NINE
1300
+ - ▁WA
1301
+ - ▁SINGLE
1302
+ - ▁RULE
1303
+ - ▁PORT
1304
+ - ▁WINTER
1305
+ - ▁CAST
1306
+ - ▁CRA
1307
+ - ▁HAPPEN
1308
+ - ▁CRO
1309
+ - ▁SHUT
1310
+ - NING
1311
+ - ▁GUN
1312
+ - ▁NOBLE
1313
+ - ▁BEGIN
1314
+ - ▁PATH
1315
+ - ▁SKY
1316
+ - ▁WONDERFUL
1317
+ - ���SUDDEN
1318
+ - ▁ARMY
1319
+ - ▁CHE
1320
+ - ▁WORTH
1321
+ - ▁MOUNTAIN
1322
+ - ▁MIN
1323
+ - AG
1324
+ - ▁FLU
1325
+ - ▁GRACE
1326
+ - ▁CHAPTER
1327
+ - ▁BELOW
1328
+ - ▁RING
1329
+ - ▁TURNING
1330
+ - ▁IRON
1331
+ - ▁TOP
1332
+ - ▁AFTERNOON
1333
+ - ORY
1334
+ - ▁EVIL
1335
+ - ▁TRUST
1336
+ - ▁BOW
1337
+ - ▁TRI
1338
+ - ▁SAIL
1339
+ - ▁CONTENT
1340
+ - ▁HORSES
1341
+ - ITE
1342
+ - ▁SILVER
1343
+ - AP
1344
+ - ▁LAD
1345
+ - ▁RUNNING
1346
+ - ▁HILL
1347
+ - ▁BEGINNING
1348
+ - ▁MAD
1349
+ - ▁HABIT
1350
+ - GRA
1351
+ - ▁CLOTHES
1352
+ - ▁MORROW
1353
+ - ▁CRY
1354
+ - ▁FASHION
1355
+ - ▁PRESENCE
1356
+ - ▁Z
1357
+ - FE
1358
+ - ▁ARRIVED
1359
+ - ▁QUARTER
1360
+ - ▁PERFECT
1361
+ - ▁WO
1362
+ - ▁TRA
1363
+ - ▁USUAL
1364
+ - ▁NECK
1365
+ - ▁MARRIED
1366
+ - ▁SEAT
1367
+ - ▁WI
1368
+ - ▁GAR
1369
+ - ▁SAND
1370
+ - ▁SHORE
1371
+ - ▁GIVING
1372
+ - NY
1373
+ - ▁PROBABLY
1374
+ - ▁MINUTE
1375
+ - ▁EXPECT
1376
+ - ▁DU
1377
+ - ▁SHOT
1378
+ - ▁INSTANT
1379
+ - ▁DEGREE
1380
+ - ▁COLOR
1381
+ - ▁WEST
1382
+ - RT
1383
+ - ▁MARCH
1384
+ - ▁BIRD
1385
+ - ▁SHOWED
1386
+ - ▁GREATER
1387
+ - ▁SERIOUS
1388
+ - ▁CARRY
1389
+ - ▁COVERED
1390
+ - ▁FORMER
1391
+ - ▁LOUD
1392
+ - ▁MOVED
1393
+ - ▁MASS
1394
+ - ▁SEEK
1395
+ - ▁CHO
1396
+ - GEN
1397
+ - ▁ROMAN
1398
+ - IB
1399
+ - ▁MOON
1400
+ - ▁BOARD
1401
+ - ▁STREAM
1402
+ - ▁EASILY
1403
+ - ▁WISHED
1404
+ - ▁SEARCH
1405
+ - ▁COULDN
1406
+ - ▁MONTHS
1407
+ - ▁SICK
1408
+ - LIE
1409
+ - ▁DUTY
1410
+ - ▁TWELVE
1411
+ - ▁FAINT
1412
+ - ▁STRANGER
1413
+ - ▁SURPRISE
1414
+ - ▁KILL
1415
+ - ▁LEAVING
1416
+ - ▁JOURNEY
1417
+ - ▁SCARCELY
1418
+ - ▁RAISED
1419
+ - ▁SPEAKING
1420
+ - ▁TERRIBLE
1421
+ - ▁TOM
1422
+ - ▁FIELD
1423
+ - ▁GAME
1424
+ - ▁QUA
1425
+ - ▁PROMISE
1426
+ - ▁LIE
1427
+ - ▁CONDITION
1428
+ - ▁TRO
1429
+ - ▁PERSONAL
1430
+ - ▁TALL
1431
+ - ▁STICK
1432
+ - ▁THREW
1433
+ - ▁MARRY
1434
+ - ▁VAN
1435
+ - ▁BURN
1436
+ - ▁ACCORDING
1437
+ - ▁RISE
1438
+ - ▁ATTACK
1439
+ - ▁SWORD
1440
+ - ▁GUESS
1441
+ - ▁THOUGHTS
1442
+ - ▁THIN
1443
+ - ▁THROW
1444
+ - ▁CALM
1445
+ - SIDE
1446
+ - ▁VILLAGE
1447
+ - ▁DEN
1448
+ - ▁ANXIOUS
1449
+ - ▁MER
1450
+ - GI
1451
+ - ▁EXPECTED
1452
+ - ▁BALL
1453
+ - ▁ESPECIALLY
1454
+ - ▁CHARGE
1455
+ - ▁MEASURE
1456
+ - ISE
1457
+ - ▁NICE
1458
+ - ▁TRYING
1459
+ - ▁ALLOW
1460
+ - ▁SHARP
1461
+ - ▁BREAD
1462
+ - ▁HONOUR
1463
+ - ▁HONOR
1464
+ - ▁ENTIRELY
1465
+ - ▁BILL
1466
+ - ▁BRI
1467
+ - ▁WRITTEN
1468
+ - ▁AR
1469
+ - ▁BROKE
1470
+ - ▁KILLED
1471
+ - ▁MARK
1472
+ - ▁VEN
1473
+ - ▁LADIES
1474
+ - ▁LEARNED
1475
+ - ▁FLOWERS
1476
+ - PLE
1477
+ - ▁FORTY
1478
+ - ▁OFFER
1479
+ - ▁HAPPINESS
1480
+ - ▁PRAY
1481
+ - ▁CLASS
1482
+ - ▁FER
1483
+ - ▁PRINCIPLE
1484
+ - GU
1485
+ - ▁BOOKS
1486
+ - ▁SHAPE
1487
+ - ▁SUMMER
1488
+ - ▁JACK
1489
+ - ▁DRAW
1490
+ - ▁GOLDEN
1491
+ - ▁DECIDED
1492
+ - ▁LEAD
1493
+ - ▁UNLESS
1494
+ - ▁HARM
1495
+ - ▁LISTEN
1496
+ - HER
1497
+ - ▁SHOOK
1498
+ - ▁INFLUENCE
1499
+ - ▁PERFECTLY
1500
+ - ▁MARRIAGE
1501
+ - ▁BROAD
1502
+ - ▁ESCAPE
1503
+ - ▁STATES
1504
+ - ▁MIDDLE
1505
+ - ▁PLANT
1506
+ - ▁MIL
1507
+ - ▁MOVEMENT
1508
+ - ▁NOISE
1509
+ - ▁ENEMY
1510
+ - ▁HISTORY
1511
+ - ▁BREAK
1512
+ - ROUS
1513
+ - ▁UNDERSTOOD
1514
+ - ▁LATTER
1515
+ - FER
1516
+ - ▁COMES
1517
+ - ▁MERELY
1518
+ - ▁SIMPLY
1519
+ - WI
1520
+ - ▁IMAGINE
1521
+ - ▁LOWER
1522
+ - ▁CONDUCT
1523
+ - ▁BORN
1524
+ - WA
1525
+ - ▁YARD
1526
+ - ▁KA
1527
+ - ▁CLOSED
1528
+ - ▁NOTE
1529
+ - GA
1530
+ - ▁STRA
1531
+ - RAN
1532
+ - ▁EXIST
1533
+ - EV
1534
+ - ▁SPEECH
1535
+ - ▁BITTER
1536
+ - JO
1537
+ - ▁MAKES
1538
+ - ▁GRASS
1539
+ - ▁REPLY
1540
+ - ▁CHANGED
1541
+ - ▁MON
1542
+ - ▁LYING
1543
+ - ▁DANCE
1544
+ - ▁FINALLY
1545
+ - ▁AMERICAN
1546
+ - ▁ENJOY
1547
+ - ▁CONTAIN
1548
+ - ▁MEANT
1549
+ - USE
1550
+ - ▁OBSERVED
1551
+ - THER
1552
+ - ▁LAUGH
1553
+ - ▁AFTERWARDS
1554
+ - ▁BEAT
1555
+ - ▁RACE
1556
+ - ▁EQUAL
1557
+ - ▁RAIN
1558
+ - PS
1559
+ - ▁STEPS
1560
+ - ▁BENEATH
1561
+ - ▁TAIL
1562
+ - ▁TASTE
1563
+ - IO
1564
+ - EY
1565
+ - ▁CHAR
1566
+ - ▁GE
1567
+ - GN
1568
+ - TIN
1569
+ - ▁GROW
1570
+ - ▁TE
1571
+ - IANS
1572
+ - ▁MOVE
1573
+ - ▁REPEATED
1574
+ - ▁DRIVE
1575
+ - TUR
1576
+ - ▁SI
1577
+ - CLOCK
1578
+ - ▁BRAVE
1579
+ - ▁MADAME
1580
+ - ▁LOT
1581
+ - ▁CASTLE
1582
+ - ▁HI
1583
+ - AND
1584
+ - ▁FUTURE
1585
+ - ▁RELATION
1586
+ - ▁SORRY
1587
+ - ▁HEALTH
1588
+ - ▁DICK
1589
+ - ▁R
1590
+ - ▁BUILDING
1591
+ - ▁EDGE
1592
+ - ▁BLESS
1593
+ - ▁SPITE
1594
+ - WE
1595
+ - ▁MIS
1596
+ - ▁PRISONER
1597
+ - ▁ALLOWED
1598
+ - ▁PH
1599
+ - ▁CATCH
1600
+ - MER
1601
+ - ETH
1602
+ - ▁COAT
1603
+ - ▁COMPLETE
1604
+ - ▁WOULDN
1605
+ - ▁CREATURE
1606
+ - ▁YELLOW
1607
+ - ▁IMPORTANT
1608
+ - ▁ADD
1609
+ - ▁PASSING
1610
+ - ▁DARKNESS
1611
+ - ▁CARRIAGE
1612
+ - ▁MILL
1613
+ - ▁FIFTEEN
1614
+ - NCY
1615
+ - ▁HUNG
1616
+ - ▁OB
1617
+ - ▁PLEASED
1618
+ - ▁SPREAD
1619
+ - ▁CURIOUS
1620
+ - ▁WORSE
1621
+ - ▁CIRCUMSTANCES
1622
+ - ▁GI
1623
+ - LAR
1624
+ - ▁CAL
1625
+ - ▁HY
1626
+ - ▁MERE
1627
+ - ▁JANE
1628
+ - ▁EAST
1629
+ - BI
1630
+ - ▁CUP
1631
+ - ▁BLIND
1632
+ - ▁PASSION
1633
+ - ▁DISCOVERED
1634
+ - ▁NOTICE
1635
+ - ▁REPORT
1636
+ - ▁SPACE
1637
+ - ▁PRESENTLY
1638
+ - ▁SORROW
1639
+ - ▁PACK
1640
+ - ▁DIN
1641
+ - CY
1642
+ - ▁DRY
1643
+ - ▁ANCIENT
1644
+ - ▁DRESSED
1645
+ - ▁COVER
1646
+ - ▁VO
1647
+ - ▁EXISTENCE
1648
+ - ▁EXACTLY
1649
+ - ▁BEAST
1650
+ - ▁PROPER
1651
+ - ▁DROPPED
1652
+ - ▁CLEAN
1653
+ - ▁COLOUR
1654
+ - ▁HOST
1655
+ - ▁CHAMBER
1656
+ - ▁FAITH
1657
+ - LET
1658
+ - ▁DETERMINED
1659
+ - ▁PRIEST
1660
+ - ▁STORM
1661
+ - ▁SKIN
1662
+ - ▁DARE
1663
+ - ▁PERSONS
1664
+ - ▁PICK
1665
+ - ▁NARROW
1666
+ - ▁SUPPORT
1667
+ - ▁PRIVATE
1668
+ - ▁SMILED
1669
+ - ▁COUSIN
1670
+ - ▁DRAWING
1671
+ - ▁ATTEND
1672
+ - ▁COOK
1673
+ - ▁PREVENT
1674
+ - ▁VARIOUS
1675
+ - ▁BLA
1676
+ - ▁FIXED
1677
+ - ▁WEAK
1678
+ - THE
1679
+ - ▁HOLE
1680
+ - ▁BOTTOM
1681
+ - ▁NOBODY
1682
+ - ADE
1683
+ - ▁LEGS
1684
+ - ITCH
1685
+ - ▁INDIVIDUAL
1686
+ - ▁EARS
1687
+ - LIKE
1688
+ - ▁ADVANTAGE
1689
+ - ▁FRANCE
1690
+ - ▁BON
1691
+ - ▁WINE
1692
+ - ▁LIVES
1693
+ - OD
1694
+ - ▁WALLS
1695
+ - ▁TIRED
1696
+ - ▁SHOP
1697
+ - ▁ANIMAL
1698
+ - ▁CRU
1699
+ - ▁WROTE
1700
+ - ▁ROYAL
1701
+ - ▁CONSIDERED
1702
+ - ▁MORAL
1703
+ - ▁COMPANION
1704
+ - ▁LOSE
1705
+ - ▁ISN
1706
+ - ▁BAG
1707
+ - ▁LAKE
1708
+ - ▁INTER
1709
+ - ▁COM
1710
+ - ▁LETTERS
1711
+ - ▁LUCK
1712
+ - ▁EAR
1713
+ - ▁GERMAN
1714
+ - ▁PET
1715
+ - ▁SAKE
1716
+ - ▁DROP
1717
+ - ▁PAID
1718
+ - ▁BREAKFAST
1719
+ - ▁LABOR
1720
+ - ▁DESERT
1721
+ - ▁DECLARED
1722
+ - ▁HUM
1723
+ - ▁STUDY
1724
+ - ▁INSTANCE
1725
+ - ONE
1726
+ - ▁SOMEWHAT
1727
+ - ▁CLOTH
1728
+ - ▁SPECIAL
1729
+ - ▁COLONEL
1730
+ - ▁SONG
1731
+ - ▁MAIN
1732
+ - ▁VALUE
1733
+ - ▁PROUD
1734
+ - ▁EXPRESS
1735
+ - ▁NATION
1736
+ - ▁HANDSOME
1737
+ - ▁CONFESS
1738
+ - ▁PU
1739
+ - ▁PASSAGE
1740
+ - ▁PERIOD
1741
+ - ▁CUSTOM
1742
+ - ▁HURT
1743
+ - ▁SHOULDER
1744
+ - ▁CHRIST
1745
+ - ZA
1746
+ - ▁RECEIVE
1747
+ - ▁DIFFICULT
1748
+ - ▁DEPEND
1749
+ - ▁MEETING
1750
+ - ▁CHI
1751
+ - ▁GEN
1752
+ - LIGHT
1753
+ - ▁BELIEVED
1754
+ - ▁SOCIAL
1755
+ - ▁DIFFICULTY
1756
+ - ▁GREATEST
1757
+ - ▁DRAWN
1758
+ - ▁GRANT
1759
+ - ▁BIRDS
1760
+ - ▁ANGRY
1761
+ - ▁HEAT
1762
+ - UFF
1763
+ - ▁DUE
1764
+ - ▁PLACES
1765
+ - ▁SIN
1766
+ - ▁COURAGE
1767
+ - ▁EVIDENTLY
1768
+ - ▁GENTLE
1769
+ - ▁CRUEL
1770
+ - ▁GEORGE
1771
+ - ▁GRI
1772
+ - ▁SERVANT
1773
+ - ▁U
1774
+ - ▁PURE
1775
+ - OOK
1776
+ - ▁KNOWS
1777
+ - ▁KNOWING
1778
+ - LF
1779
+ - ▁WRITING
1780
+ - ▁REMEMBERED
1781
+ - ▁CU
1782
+ - ▁HOLDING
1783
+ - ▁TENDER
1784
+ - ▁QUI
1785
+ - ▁BURST
1786
+ - ▁SURELY
1787
+ - IGN
1788
+ - ▁VALLEY
1789
+ - ▁FU
1790
+ - ▁BUTTER
1791
+ - ▁SPOKEN
1792
+ - ▁STORE
1793
+ - ▁DISC
1794
+ - ▁CHRISTIAN
1795
+ - ▁PARIS
1796
+ - ▁HENRY
1797
+ - ▁FINISHED
1798
+ - ▁PROVE
1799
+ - ▁FOOL
1800
+ - ▁SOLDIERS
1801
+ - ▁LANGUAGE
1802
+ - ▁INSIDE
1803
+ - ▁BAN
1804
+ - ▁FALLEN
1805
+ - ROW
1806
+ - ▁MAL
1807
+ - ▁BABY
1808
+ - ▁SITUATION
1809
+ - ▁WATCHED
1810
+ - ANS
1811
+ - ▁RUIN
1812
+ - ▁GENTLEMEN
1813
+ - ▁FRO
1814
+ - ▁FANCY
1815
+ - ▁ACCEPT
1816
+ - ▁SEASON
1817
+ - ▁OURSELVES
1818
+ - ▁SAN
1819
+ - ▁SPEED
1820
+ - IZED
1821
+ - ▁COOL
1822
+ - ▁SERVE
1823
+ - ▁VESSEL
1824
+ - ▁WILLIAM
1825
+ - ▁OBLIGED
1826
+ - ▁GROUP
1827
+ - FORM
1828
+ - ▁GOES
1829
+ - UOUS
1830
+ - ▁LEAVES
1831
+ - ▁PECULIAR
1832
+ - ▁NEWS
1833
+ - ▁VAIN
1834
+ - ▁EVERYBODY
1835
+ - ▁PIN
1836
+ - UG
1837
+ - ▁FORGOTTEN
1838
+ - ▁FRA
1839
+ - GAN
1840
+ - ▁CAREFULLY
1841
+ - ▁FLASH
1842
+ - UCH
1843
+ - ▁FUR
1844
+ - ▁MURDER
1845
+ - ▁DELIGHT
1846
+ - ▁WAITED
1847
+ - ▁RENDER
1848
+ - ▁PROPERTY
1849
+ - ▁NOTICED
1850
+ - ▁ROLL
1851
+ - ▁KNOCK
1852
+ - ▁EARNEST
1853
+ - KI
1854
+ - ▁HONEST
1855
+ - ▁PROMISED
1856
+ - ▁BAL
1857
+ - AW
1858
+ - ▁WALKING
1859
+ - ANG
1860
+ - ▁SQUARE
1861
+ - ▁QUIETLY
1862
+ - ▁CLOUD
1863
+ - WOOD
1864
+ - ▁FORMED
1865
+ - ▁HIGHER
1866
+ - ▁BUILT
1867
+ - ▁FATE
1868
+ - ▁TEACH
1869
+ - MY
1870
+ - ▁FALSE
1871
+ - ▁YORK
1872
+ - ▁DUST
1873
+ - ▁CLIMB
1874
+ - ▁FOND
1875
+ - ▁GROWN
1876
+ - ▁DESCEND
1877
+ - ▁RAG
1878
+ - ▁FRUIT
1879
+ - ▁GENERALLY
1880
+ - ▁OFFERED
1881
+ - ▁ER
1882
+ - ▁NURSE
1883
+ - POSE
1884
+ - ▁SPENT
1885
+ - ▁JOIN
1886
+ - ▁STATION
1887
+ - ▁MEANING
1888
+ - ▁SMOKE
1889
+ - HOOD
1890
+ - ▁ROUGH
1891
+ - JU
1892
+ - ▁LIKELY
1893
+ - ▁SURFACE
1894
+ - ▁KE
1895
+ - ▁MONTH
1896
+ - ▁POSSESSION
1897
+ - ▁TONGUE
1898
+ - ▁DUKE
1899
+ - ▁NOSE
1900
+ - ▁LAUGHING
1901
+ - ▁WEATHER
1902
+ - ▁WHISPERED
1903
+ - ▁SYSTEM
1904
+ - ▁LAWS
1905
+ - DDLE
1906
+ - ▁TOUCHED
1907
+ - ▁TRADE
1908
+ - LD
1909
+ - ▁SURPRISED
1910
+ - RIN
1911
+ - ▁ARCH
1912
+ - ▁WEALTH
1913
+ - FOR
1914
+ - ▁TEMPER
1915
+ - ▁FRANK
1916
+ - ▁GAL
1917
+ - ▁BARE
1918
+ - ▁OPPORTUNITY
1919
+ - ▁CLAIM
1920
+ - ▁ANIMALS
1921
+ - ▁REV
1922
+ - ▁COST
1923
+ - ▁WASH
1924
+ - ZE
1925
+ - ▁CORN
1926
+ - ▁OPPOSITE
1927
+ - ▁POLICE
1928
+ - ▁IDEAS
1929
+ - LON
1930
+ - ▁KEY
1931
+ - ▁READING
1932
+ - ▁COLLECT
1933
+ - CHED
1934
+ - ▁H
1935
+ - ▁CROWN
1936
+ - ▁TAR
1937
+ - ▁SWIFT
1938
+ - ▁SHOULDERS
1939
+ - ▁ICE
1940
+ - ▁GRAY
1941
+ - ▁SHARE
1942
+ - ▁PREPARED
1943
+ - ▁GRO
1944
+ - ▁UND
1945
+ - ▁TER
1946
+ - ▁EMPTY
1947
+ - CING
1948
+ - ▁SMILING
1949
+ - ▁AVOID
1950
+ - ▁DIFFERENCE
1951
+ - ▁EXPLAIN
1952
+ - ▁POUR
1953
+ - ▁ATTRACT
1954
+ - ▁OPENING
1955
+ - ▁WHEEL
1956
+ - ▁MATERIAL
1957
+ - ▁BREAST
1958
+ - ▁SUFFERING
1959
+ - ▁DISTINCT
1960
+ - ▁BOOT
1961
+ - ▁ROW
1962
+ - ▁FINGERS
1963
+ - HAN
1964
+ - ▁ALTOGETHER
1965
+ - ▁FAT
1966
+ - ▁PAPA
1967
+ - ▁BRAIN
1968
+ - ▁ASLEEP
1969
+ - ▁GREY
1970
+ - ▁SUM
1971
+ - ▁GAS
1972
+ - ▁WINDOWS
1973
+ - ▁ALIVE
1974
+ - ▁PROCEED
1975
+ - ▁FLOWER
1976
+ - ▁LEAP
1977
+ - ▁PUR
1978
+ - ▁PIECES
1979
+ - ▁ALTER
1980
+ - ▁MEMORY
1981
+ - IENT
1982
+ - ▁FILL
1983
+ - ▁CLO
1984
+ - ▁THROWN
1985
+ - ▁KINGDOM
1986
+ - ▁RODE
1987
+ - IUS
1988
+ - ▁MAID
1989
+ - ▁DIM
1990
+ - ▁BAND
1991
+ - ▁VIRTUE
1992
+ - ▁DISH
1993
+ - ▁GUEST
1994
+ - ▁LOSS
1995
+ - ▁CAUSED
1996
+ - ▁MOTION
1997
+ - ▁POT
1998
+ - ▁MILLION
1999
+ - ▁FAULT
2000
+ - ▁LOVELY
2001
+ - ▁HERO
2002
+ - PPING
2003
+ - ▁UNITED
2004
+ - ▁SPI
2005
+ - SOME
2006
+ - BRA
2007
+ - ▁MOUNTAINS
2008
+ - ▁NU
2009
+ - ▁SATISFIED
2010
+ - ▁DOLLARS
2011
+ - ▁LOVER
2012
+ - ▁CONCEAL
2013
+ - ▁VAST
2014
+ - ▁PULL
2015
+ - ▁HATH
2016
+ - ▁RUSH
2017
+ - ▁J
2018
+ - ▁DESPAIR
2019
+ - EX
2020
+ - ▁HEIGHT
2021
+ - ▁CE
2022
+ - ▁BENT
2023
+ - ▁PITY
2024
+ - ▁RISING
2025
+ - ATH
2026
+ - ▁PRIDE
2027
+ - ▁HURRY
2028
+ - KA
2029
+ - ▁SETTLED
2030
+ - ▁JUSTICE
2031
+ - ▁LIFTED
2032
+ - PEN
2033
+ - ▁SOLDIER
2034
+ - ▁FINDING
2035
+ - ▁REMARK
2036
+ - ▁REGULAR
2037
+ - ▁STRUGGLE
2038
+ - ▁MACHINE
2039
+ - ▁SING
2040
+ - ▁HURRIED
2041
+ - ▁SUFFICIENT
2042
+ - ▁REPRESENT
2043
+ - ▁DOUBLE
2044
+ - ▁ALARM
2045
+ - ▁SUPPER
2046
+ - ▁DREADFUL
2047
+ - ▁FORE
2048
+ - ATOR
2049
+ - ▁STOCK
2050
+ - ▁TIN
2051
+ - ▁EXAMPLE
2052
+ - ▁ROOF
2053
+ - ▁FLOW
2054
+ - ▁SUPPOSED
2055
+ - ▁PRESERV
2056
+ - ▁L
2057
+ - ▁LISTENED
2058
+ - OC
2059
+ - ▁STO
2060
+ - ▁SECURE
2061
+ - ▁FRIGHTENED
2062
+ - ▁DISTURB
2063
+ - ▁EMOTION
2064
+ - ▁SERVANTS
2065
+ - ▁YO
2066
+ - ▁BUY
2067
+ - ▁FORCED
2068
+ - ▁KITCHEN
2069
+ - ▁TERROR
2070
+ - ▁STAIRS
2071
+ - ▁SIXTY
2072
+ - KER
2073
+ - ▁ORDINARY
2074
+ - ▁DIRECTLY
2075
+ - ▁HEADS
2076
+ - ▁METHOD
2077
+ - ▁FORGIVE
2078
+ - ▁AWFUL
2079
+ - ▁REFLECT
2080
+ - ▁GREATLY
2081
+ - ▁TALKED
2082
+ - ▁RIDE
2083
+ - STONE
2084
+ - ▁FAVOUR
2085
+ - ▁WELCOME
2086
+ - ▁SEIZED
2087
+ - OU
2088
+ - ▁CONTROL
2089
+ - ▁ORDERED
2090
+ - ▁ANGEL
2091
+ - ▁USUALLY
2092
+ - ▁POET
2093
+ - ▁BOLD
2094
+ - LINE
2095
+ - ▁ADVENTURE
2096
+ - ▁WATCHING
2097
+ - ▁FOLK
2098
+ - ▁MISTRESS
2099
+ - IZE
2100
+ - ▁GROWING
2101
+ - ▁CAVE
2102
+ - ▁EVIDENCE
2103
+ - ▁FINGER
2104
+ - ▁SEVENTEEN
2105
+ - ▁MOVING
2106
+ - EOUS
2107
+ - ▁DOESN
2108
+ - ▁COW
2109
+ - ▁TYPE
2110
+ - ▁BOIL
2111
+ - ▁TALE
2112
+ - ▁DELIVER
2113
+ - ▁FARM
2114
+ - ▁MONSIEUR
2115
+ - ▁GATHERED
2116
+ - ▁FEELINGS
2117
+ - ▁RATE
2118
+ - ▁REMARKED
2119
+ - ▁PUTTING
2120
+ - ▁MAT
2121
+ - ▁CONTRARY
2122
+ - ▁CRIME
2123
+ - ▁PLA
2124
+ - ▁COL
2125
+ - ▁NEARER
2126
+ - TES
2127
+ - ▁CIVIL
2128
+ - ▁SHAME
2129
+ - ▁LOOSE
2130
+ - ▁DISCOVER
2131
+ - ▁FLAT
2132
+ - ▁TWICE
2133
+ - ▁FAIL
2134
+ - VIS
2135
+ - ▁UNC
2136
+ - EA
2137
+ - ▁EUROPE
2138
+ - ▁PATIENT
2139
+ - ▁UNTO
2140
+ - ▁SUFFER
2141
+ - ▁PAIR
2142
+ - ▁TREASURE
2143
+ - OSE
2144
+ - ▁EAGER
2145
+ - ▁FLY
2146
+ - ▁N
2147
+ - ▁VAL
2148
+ - ▁DAN
2149
+ - ▁SALT
2150
+ - ▁BORE
2151
+ - BBE
2152
+ - ▁ARTHUR
2153
+ - ▁AFFAIRS
2154
+ - ▁SLOW
2155
+ - ▁CONSIST
2156
+ - ▁DEVIL
2157
+ - LAN
2158
+ - ▁AFFECTION
2159
+ - ▁ENGAGED
2160
+ - ▁KISS
2161
+ - ▁YA
2162
+ - ▁OFFICER
2163
+ - IFICATION
2164
+ - ▁LAMP
2165
+ - ▁PARTS
2166
+ - HEN
2167
+ - ▁MILK
2168
+ - ▁PROCESS
2169
+ - ▁GIFT
2170
+ - ▁PULLED
2171
+ - ▁HID
2172
+ - ▁RAY
2173
+ - ▁EXCELLENT
2174
+ - ▁IMPRESSION
2175
+ - ▁AUTHORITY
2176
+ - ▁PROVED
2177
+ - ▁TELLING
2178
+ - TTE
2179
+ - ▁TOWER
2180
+ - ▁CONSEQUENCE
2181
+ - ▁FAVOR
2182
+ - ▁FLEW
2183
+ - ▁CHARLES
2184
+ - ISTS
2185
+ - ▁ADDRESS
2186
+ - ▁FAMILIAR
2187
+ - ▁LIMIT
2188
+ - ▁CONFIDENCE
2189
+ - ▁RARE
2190
+ - ▁WEEKS
2191
+ - ▁WOODS
2192
+ - ▁INTENTION
2193
+ - ▁DIRECT
2194
+ - ▁PERFORM
2195
+ - ▁SOLEMN
2196
+ - ▁DISTANT
2197
+ - ▁IMAGE
2198
+ - ▁PRESIDENT
2199
+ - ▁FIRM
2200
+ - ▁INDIAN
2201
+ - ▁RANK
2202
+ - ▁LIKED
2203
+ - ▁AGREE
2204
+ - ▁HOUSES
2205
+ - ▁WIL
2206
+ - ▁MATTERS
2207
+ - ▁PRISON
2208
+ - ▁MODE
2209
+ - ▁MAJOR
2210
+ - ▁WORKING
2211
+ - ▁SLIP
2212
+ - ▁WEIGHT
2213
+ - ▁AWARE
2214
+ - ▁BUSY
2215
+ - ▁LOOKS
2216
+ - ▁WOUND
2217
+ - ▁THOR
2218
+ - ▁BATH
2219
+ - ▁EXERCISE
2220
+ - ▁SIMILAR
2221
+ - ▁WORE
2222
+ - ▁AMOUNT
2223
+ - ▁QUESTIONS
2224
+ - ▁VIOLENT
2225
+ - ▁EXCUSE
2226
+ - ▁ASIDE
2227
+ - ▁TUR
2228
+ - ▁DULL
2229
+ - OF
2230
+ - ▁EMPEROR
2231
+ - ▁NEVERTHELESS
2232
+ - ▁SHOUT
2233
+ - ▁EXPLAINED
2234
+ - ▁SIZE
2235
+ - ▁ACCOMPLISH
2236
+ - FORD
2237
+ - CAN
2238
+ - ▁MISTAKE
2239
+ - ▁INSTANTLY
2240
+ - ▁SMOOTH
2241
+ - ▁STRIKE
2242
+ - ▁BOB
2243
+ - ISED
2244
+ - ▁HORROR
2245
+ - ▁SCIENCE
2246
+ - ▁PROTEST
2247
+ - ▁MANAGE
2248
+ - ▁OBEY
2249
+ - ▁NECESSITY
2250
+ - ▁SPLENDID
2251
+ - ▁PRESS
2252
+ - ▁INTERESTING
2253
+ - ▁RELIGION
2254
+ - ▁UNKNOWN
2255
+ - ▁FIERCE
2256
+ - ▁DISAPPEARED
2257
+ - ▁HOLY
2258
+ - ▁HATE
2259
+ - ▁PLAYED
2260
+ - ▁LIN
2261
+ - ▁NATURALLY
2262
+ - ▁DROVE
2263
+ - ▁LOUIS
2264
+ - TIES
2265
+ - ▁BRAND
2266
+ - INESS
2267
+ - RIE
2268
+ - ▁SHOOT
2269
+ - ▁CONSENT
2270
+ - ▁SEATED
2271
+ - ▁LINES
2272
+ - GUE
2273
+ - ▁AGREED
2274
+ - ▁CIRCLE
2275
+ - ▁STIR
2276
+ - ▁STREETS
2277
+ - ▁TASK
2278
+ - ▁RID
2279
+ - ▁PRODUCED
2280
+ - ▁ACCIDENT
2281
+ - ▁WITNESS
2282
+ - ▁LIBERTY
2283
+ - ▁DETAIL
2284
+ - ▁MINISTER
2285
+ - ▁POWERFUL
2286
+ - ▁SAVAGE
2287
+ - ▁SIXTEEN
2288
+ - ▁PRETEND
2289
+ - ▁COAST
2290
+ - ▁SQU
2291
+ - ▁UTTER
2292
+ - ▁NAMED
2293
+ - ▁CLEVER
2294
+ - ▁ADMIT
2295
+ - ▁COUPLE
2296
+ - ▁WICKED
2297
+ - ▁MESSAGE
2298
+ - ▁TEMPLE
2299
+ - ▁STONES
2300
+ - ▁YESTERDAY
2301
+ - ▁HILLS
2302
+ - DAY
2303
+ - ▁SLIGHT
2304
+ - ▁DIAMOND
2305
+ - ▁POSSIBLY
2306
+ - ▁AFFAIR
2307
+ - ▁ORIGINAL
2308
+ - ▁HEARING
2309
+ - ▁WORTHY
2310
+ - ▁SELL
2311
+ - NEY
2312
+ - ICK
2313
+ - ▁COTTAGE
2314
+ - ▁SACRIFICE
2315
+ - ▁PROGRESS
2316
+ - ▁SHOCK
2317
+ - ▁DESIGN
2318
+ - ▁SOUGHT
2319
+ - ▁PIT
2320
+ - ▁SUNDAY
2321
+ - ▁OTHERWISE
2322
+ - ▁CABIN
2323
+ - ▁PRAYER
2324
+ - ▁DWELL
2325
+ - ▁GAIN
2326
+ - ▁BRIDGE
2327
+ - ▁PARTICULARLY
2328
+ - ▁YIELD
2329
+ - ▁TREAT
2330
+ - RIGHT
2331
+ - ▁OAK
2332
+ - ▁ROPE
2333
+ - WIN
2334
+ - ▁ORDERS
2335
+ - ▁SUSPECT
2336
+ - ▁EDWARD
2337
+ - AB
2338
+ - ▁ELEVEN
2339
+ - ▁TEETH
2340
+ - ▁OCCURRED
2341
+ - DDING
2342
+ - ▁AMERICA
2343
+ - ▁FALLING
2344
+ - ▁LION
2345
+ - ▁DEPART
2346
+ - ▁KEEPING
2347
+ - ▁DEMAND
2348
+ - ▁PAUSED
2349
+ - ▁CEASED
2350
+ - INA
2351
+ - ▁FUN
2352
+ - ▁CHEER
2353
+ - ▁PARDON
2354
+ - ▁NATIVE
2355
+ - LUS
2356
+ - LOW
2357
+ - ▁DOGS
2358
+ - ▁REQUIRED
2359
+ - ILITY
2360
+ - ▁ELECT
2361
+ - ▁ENTERTAIN
2362
+ - ITUDE
2363
+ - ▁HUGE
2364
+ - ▁CARRYING
2365
+ - ▁BLU
2366
+ - ▁INSIST
2367
+ - ▁SATISFACTION
2368
+ - ▁HUNT
2369
+ - ▁COUNTENANCE
2370
+ - ▁UPPER
2371
+ - ▁MAIDEN
2372
+ - ▁FAILED
2373
+ - ▁JAMES
2374
+ - ▁FOREIGN
2375
+ - ▁GATHER
2376
+ - ▁TEST
2377
+ - BOARD
2378
+ - ▁TERMS
2379
+ - ▁SILK
2380
+ - ▁BEG
2381
+ - ▁BROTHERS
2382
+ - ▁PAGE
2383
+ - ▁KNEES
2384
+ - ▁SHOWN
2385
+ - ▁PROFESSOR
2386
+ - ▁MIGHTY
2387
+ - ▁DEFI
2388
+ - ▁CHARM
2389
+ - ▁REQUIRE
2390
+ - ▁LOG
2391
+ - MORE
2392
+ - ▁PROOF
2393
+ - ▁POSSESSED
2394
+ - ▁SOFTLY
2395
+ - ▁UNFORTUNATE
2396
+ - ▁PRICE
2397
+ - ▁SEVERE
2398
+ - ▁SINGING
2399
+ - ▁STAGE
2400
+ - ▁FREEDOM
2401
+ - ▁SHOUTED
2402
+ - ▁FARTHER
2403
+ - ▁MAJESTY
2404
+ - ▁PREVIOUS
2405
+ - ▁GUIDE
2406
+ - ▁MATCH
2407
+ - ▁CHEST
2408
+ - ▁INTENDED
2409
+ - ▁BI
2410
+ - ▁EXCITEMENT
2411
+ - ▁OFFICERS
2412
+ - ▁SUR
2413
+ - ▁SHAKE
2414
+ - ▁SENTIMENT
2415
+ - ▁GENTLY
2416
+ - ▁SUCCEEDED
2417
+ - ▁MENTION
2418
+ - ▁LOCK
2419
+ - ▁ACQUAINTANCE
2420
+ - ▁IMAGINATION
2421
+ - ▁PHYSICAL
2422
+ - ▁LEADING
2423
+ - ▁SLAVE
2424
+ - ▁CART
2425
+ - ▁POINTED
2426
+ - ▁STEAM
2427
+ - ▁SHADE
2428
+ - ▁PIPE
2429
+ - ▁BASE
2430
+ - ▁INVENT
2431
+ - ▁ALAS
2432
+ - ▁WORKED
2433
+ - ▁REGRET
2434
+ - ▁BUR
2435
+ - ▁FAITHFUL
2436
+ - ▁MENTIONED
2437
+ - ▁RECORD
2438
+ - ▁COMPLAIN
2439
+ - ▁SUPERIOR
2440
+ - ▁BAY
2441
+ - ▁PAL
2442
+ - EMENT
2443
+ - UE
2444
+ - ▁SEVENTY
2445
+ - ▁HOTEL
2446
+ - ▁SHEEP
2447
+ - ▁MEAL
2448
+ - ▁ADVICE
2449
+ - ▁HIDDEN
2450
+ - ▁DEMANDED
2451
+ - ▁CONSCIOUS
2452
+ - ▁BROW
2453
+ - ▁POSSESS
2454
+ - ▁FOURTH
2455
+ - ▁EVENTS
2456
+ - ▁FRI
2457
+ - ▁PRAISE
2458
+ - ▁ADVANCED
2459
+ - ▁RESOLVED
2460
+ - ▁STUFF
2461
+ - ▁CHEERFUL
2462
+ - ▁BIRTH
2463
+ - ▁GRIEF
2464
+ - ▁AFFORD
2465
+ - ▁FAIRY
2466
+ - ▁WAKE
2467
+ - ▁SIDES
2468
+ - ▁SUBSTANCE
2469
+ - ▁ARTICLE
2470
+ - ▁LEVEL
2471
+ - ▁MIST
2472
+ - ▁JOINED
2473
+ - ▁PRACTICAL
2474
+ - ▁CLEARLY
2475
+ - ▁TRACE
2476
+ - ▁AWAKE
2477
+ - ▁OBSERVE
2478
+ - ▁BASKET
2479
+ - ▁LACK
2480
+ - VILLE
2481
+ - ▁SPIRITS
2482
+ - ▁EXCITED
2483
+ - ▁ABANDON
2484
+ - ▁SHINING
2485
+ - ▁FULLY
2486
+ - ▁CALLING
2487
+ - ▁CONSIDERABLE
2488
+ - ▁SPRANG
2489
+ - ▁MILE
2490
+ - ▁DOZEN
2491
+ - ▁PEA
2492
+ - ▁DANGEROUS
2493
+ - ▁WIT
2494
+ - ▁JEW
2495
+ - ▁POUNDS
2496
+ - ▁FOX
2497
+ - ▁INFORMATION
2498
+ - ▁LIES
2499
+ - ▁DECK
2500
+ - NNY
2501
+ - ▁PAUL
2502
+ - ▁STARS
2503
+ - ▁ANGER
2504
+ - ▁SETTLE
2505
+ - ▁WILLING
2506
+ - ▁ADAM
2507
+ - ▁FACES
2508
+ - ▁SMITH
2509
+ - ▁IMPORTANCE
2510
+ - ▁STRAIN
2511
+ - WAR
2512
+ - ▁SAM
2513
+ - ▁FEATHER
2514
+ - ▁SERVED
2515
+ - ▁AUTHOR
2516
+ - ▁PERCEIVED
2517
+ - ▁FLAME
2518
+ - ▁DIVINE
2519
+ - ▁TRAIL
2520
+ - ▁ANYBODY
2521
+ - ▁SIGH
2522
+ - ▁DELICATE
2523
+ - KY
2524
+ - ▁FOLD
2525
+ - ▁HAVEN
2526
+ - ▁DESIRED
2527
+ - ▁CURIOSITY
2528
+ - ▁PRACTICE
2529
+ - ▁CONSIDERATION
2530
+ - ▁ABSOLUTELY
2531
+ - ▁CITIZEN
2532
+ - ▁BOTTLE
2533
+ - ▁INTERESTED
2534
+ - ▁MEAT
2535
+ - ▁OCCUPIED
2536
+ - ▁CHOOSE
2537
+ - ▁THROAT
2538
+ - ETTE
2539
+ - ▁CANDLE
2540
+ - ▁DAWN
2541
+ - ▁PROTECT
2542
+ - ▁SENTENCE
2543
+ - IED
2544
+ - ▁ROCKS
2545
+ - ▁PORTION
2546
+ - ▁APPARENTLY
2547
+ - ▁PRESENTED
2548
+ - ▁TIGHT
2549
+ - ▁ACTUALLY
2550
+ - ▁DYING
2551
+ - ▁HAM
2552
+ - ▁DAILY
2553
+ - ▁SUFFERED
2554
+ - ▁POLITICAL
2555
+ - ▁BODIES
2556
+ - ▁MODERN
2557
+ - ▁COMPLETELY
2558
+ - ▁SOONER
2559
+ - TAN
2560
+ - ▁PROP
2561
+ - ▁ADVANCE
2562
+ - ▁REFUSED
2563
+ - ▁FARMER
2564
+ - ▁POLITE
2565
+ - ▁THUNDER
2566
+ - ▁BRIEF
2567
+ - ▁ELSIE
2568
+ - ▁SAILOR
2569
+ - ▁SUGGESTED
2570
+ - ▁PLATE
2571
+ - ▁AID
2572
+ - ▁FLESH
2573
+ - ▁WEEP
2574
+ - ▁BUCK
2575
+ - ▁ANTI
2576
+ - ▁OCEAN
2577
+ - ▁SPEND
2578
+ - WELL
2579
+ - ▁ODD
2580
+ - ▁GOVERNOR
2581
+ - ▁ENTRANCE
2582
+ - ▁SUSPICION
2583
+ - ▁STEPPED
2584
+ - ▁RAPIDLY
2585
+ - ▁CHECK
2586
+ - ▁HIDE
2587
+ - ▁FLIGHT
2588
+ - ���CLUB
2589
+ - ▁ENTIRE
2590
+ - ▁INDIANS
2591
+ - ASH
2592
+ - ▁CAPITAL
2593
+ - ▁MAMMA
2594
+ - HAR
2595
+ - ▁CORRECT
2596
+ - ▁CRACK
2597
+ - ▁SENSATION
2598
+ - ▁WORST
2599
+ - ▁PACE
2600
+ - ▁MIDST
2601
+ - ▁AUGUST
2602
+ - ▁PROPORTION
2603
+ - ▁INNOCENT
2604
+ - LINESS
2605
+ - ▁REGARDED
2606
+ - ▁DRIVEN
2607
+ - ORD
2608
+ - ▁HASTE
2609
+ - ▁EDUCATION
2610
+ - ▁EMPLOY
2611
+ - ▁TRULY
2612
+ - ▁INSTRUMENT
2613
+ - ▁MAG
2614
+ - ▁FRAME
2615
+ - ▁FOOLISH
2616
+ - ▁TAUGHT
2617
+ - ▁HANG
2618
+ - ▁ARGUMENT
2619
+ - ▁NINETEEN
2620
+ - ▁ELDER
2621
+ - ▁NAY
2622
+ - ▁NEEDED
2623
+ - ▁NEIGHBOR
2624
+ - ▁INSTRUCT
2625
+ - ▁PAPERS
2626
+ - ▁REWARD
2627
+ - ▁EQUALLY
2628
+ - ▁FIELDS
2629
+ - ▁DIG
2630
+ - HIN
2631
+ - ▁CONDITIONS
2632
+ - JA
2633
+ - ▁SPAR
2634
+ - ▁REQUEST
2635
+ - ▁WORN
2636
+ - ▁REMARKABLE
2637
+ - ▁LOAD
2638
+ - ▁WORSHIP
2639
+ - ▁PARK
2640
+ - ▁KI
2641
+ - ▁INTERRUPTED
2642
+ - ▁SKILL
2643
+ - ▁TERM
2644
+ - LAC
2645
+ - ▁CRITIC
2646
+ - ▁DISTRESS
2647
+ - ▁BELIEF
2648
+ - ▁STERN
2649
+ - IGHT
2650
+ - ▁TRACK
2651
+ - ▁HUNTING
2652
+ - ▁JEWEL
2653
+ - ▁GRADUALLY
2654
+ - ▁GLOW
2655
+ - ▁RUSHED
2656
+ - ▁MENTAL
2657
+ - ▁VISITOR
2658
+ - ▁PICKED
2659
+ - ▁BEHOLD
2660
+ - ▁EXPRESSED
2661
+ - ▁RUB
2662
+ - ▁SKI
2663
+ - ARTAGNAN
2664
+ - ▁MOREOVER
2665
+ - ▁OPERATION
2666
+ - ▁CAREFUL
2667
+ - ▁KEEN
2668
+ - ▁ASSERT
2669
+ - ▁WANDER
2670
+ - ▁ENEMIES
2671
+ - ▁MYSTERIOUS
2672
+ - ▁DEPTH
2673
+ - ▁PREFER
2674
+ - ▁CROSSED
2675
+ - ▁CHARMING
2676
+ - ▁DREAD
2677
+ - ▁FLOUR
2678
+ - ▁ROBIN
2679
+ - ▁TRE
2680
+ - ▁RELIEF
2681
+ - ▁INQUIRED
2682
+ - ▁APPLE
2683
+ - ▁HENCE
2684
+ - ▁WINGS
2685
+ - ▁CHOICE
2686
+ - ▁JUD
2687
+ - OO
2688
+ - ▁SPECIES
2689
+ - ▁DELIGHTED
2690
+ - IUM
2691
+ - ▁RAPID
2692
+ - ▁APPEAL
2693
+ - ▁FAMOUS
2694
+ - ▁USEFUL
2695
+ - ▁HELEN
2696
+ - ▁NEWSPAPER
2697
+ - ▁PLENTY
2698
+ - ▁BEARING
2699
+ - ▁NERVOUS
2700
+ - ▁PARA
2701
+ - ▁URGE
2702
+ - ▁ROAR
2703
+ - ▁WOUNDED
2704
+ - ▁CHAIN
2705
+ - ▁PRODUCE
2706
+ - ▁REFLECTION
2707
+ - ▁MERCHANT
2708
+ - ▁QUARREL
2709
+ - ▁GLORY
2710
+ - ▁BEGUN
2711
+ - ▁BARON
2712
+ - CUS
2713
+ - ▁QUEER
2714
+ - ▁MIX
2715
+ - ▁GAZE
2716
+ - ▁WHISPER
2717
+ - ▁BURIED
2718
+ - ▁DIV
2719
+ - ▁CARD
2720
+ - ▁FREQUENTLY
2721
+ - ▁TIP
2722
+ - ▁KNEE
2723
+ - ▁REGION
2724
+ - ▁ROOT
2725
+ - ▁LEST
2726
+ - ▁JEALOUS
2727
+ - CTOR
2728
+ - ▁SAVED
2729
+ - ▁ASKING
2730
+ - ▁TRIP
2731
+ - QUA
2732
+ - ▁UNION
2733
+ - HY
2734
+ - ▁COMPANIONS
2735
+ - ▁SHIPS
2736
+ - ▁HALE
2737
+ - ▁APPROACHED
2738
+ - ▁HARRY
2739
+ - ▁DRUNK
2740
+ - ▁ARRIVAL
2741
+ - ▁SLEPT
2742
+ - ▁FURNISH
2743
+ - HEAD
2744
+ - ▁PIG
2745
+ - ▁ABSENCE
2746
+ - ▁PHIL
2747
+ - ▁HEAP
2748
+ - ▁SHOES
2749
+ - ▁CONSCIOUSNESS
2750
+ - ▁KINDLY
2751
+ - ▁EVIDENT
2752
+ - ▁SCAR
2753
+ - ▁DETERMIN
2754
+ - ▁GRASP
2755
+ - ▁STEAL
2756
+ - ▁OWE
2757
+ - ▁KNIFE
2758
+ - ▁PRECIOUS
2759
+ - ▁ELEMENT
2760
+ - ▁PROCEEDED
2761
+ - ▁FEVER
2762
+ - ▁LEADER
2763
+ - ▁RISK
2764
+ - ▁EASE
2765
+ - ▁GRIM
2766
+ - ▁MOUNT
2767
+ - ▁MEANWHILE
2768
+ - ▁CENTURY
2769
+ - OON
2770
+ - ▁JUDGMENT
2771
+ - ▁AROSE
2772
+ - ▁VISION
2773
+ - ▁SPARE
2774
+ - ▁EXTREME
2775
+ - ▁CONSTANT
2776
+ - ▁OBSERVATION
2777
+ - ▁THRUST
2778
+ - ▁DELAY
2779
+ - ▁CENT
2780
+ - ▁INCLUD
2781
+ - ▁LIFT
2782
+ - ▁ADMIRE
2783
+ - ▁ISSUE
2784
+ - ▁FRIENDSHIP
2785
+ - ▁LESSON
2786
+ - ▁PRINCIPAL
2787
+ - ▁MOURN
2788
+ - ▁ACCEPTED
2789
+ - ▁BURNING
2790
+ - ▁CAPABLE
2791
+ - ▁EXTRAORDINARY
2792
+ - ▁SANG
2793
+ - ▁REMOVED
2794
+ - ▁HOPED
2795
+ - ▁HORN
2796
+ - ▁ALICE
2797
+ - ▁MUD
2798
+ - ▁APARTMENT
2799
+ - ▁FIGHTING
2800
+ - ▁BLAME
2801
+ - ▁TREMBLING
2802
+ - ▁SOMEBODY
2803
+ - ▁ANYONE
2804
+ - ▁BRIDE
2805
+ - ▁READER
2806
+ - ▁ROB
2807
+ - ▁EVERYWHERE
2808
+ - ▁LABOUR
2809
+ - ▁RECALL
2810
+ - ▁BULL
2811
+ - ▁HIT
2812
+ - ▁COUNCIL
2813
+ - ▁POPULAR
2814
+ - ▁CHAP
2815
+ - ▁TRIAL
2816
+ - ▁DUN
2817
+ - ▁WISHES
2818
+ - ▁BRILLIANT
2819
+ - ▁ASSURED
2820
+ - ▁FORGOT
2821
+ - ▁CONTINUE
2822
+ - ▁ACKNOWLEDG
2823
+ - ▁RETREAT
2824
+ - ▁INCREASED
2825
+ - ▁CONTEMPT
2826
+ - ▁GRANDFATHER
2827
+ - ▁SYMPATHY
2828
+ - ▁GHOST
2829
+ - ▁STRETCHED
2830
+ - ▁CREATURES
2831
+ - ▁CAB
2832
+ - ▁HIND
2833
+ - ▁PLAYING
2834
+ - ▁MISERABLE
2835
+ - ▁MEMBERS
2836
+ - ▁KINDNESS
2837
+ - ▁HIGHEST
2838
+ - ▁PRIM
2839
+ - ▁KISSED
2840
+ - ▁DESERVE
2841
+ - ▁HUT
2842
+ - ▁BEGGED
2843
+ - ▁EIGHTY
2844
+ - ▁CLOSELY
2845
+ - ▁WONDERED
2846
+ - ▁MILITARY
2847
+ - ▁REMIND
2848
+ - ▁ACCORDINGLY
2849
+ - ▁LARGER
2850
+ - ▁MAINTAIN
2851
+ - ▁ENGINE
2852
+ - ▁MOTIVE
2853
+ - ▁DESTROY
2854
+ - ▁STRIP
2855
+ - ▁HANS
2856
+ - ▁AHEAD
2857
+ - ▁INFINITE
2858
+ - ▁PROMPT
2859
+ - ▁INFORMED
2860
+ - TTLE
2861
+ - ▁PEER
2862
+ - ▁PRESSED
2863
+ - ▁TRAP
2864
+ - ▁SOMEWHERE
2865
+ - ▁BOUGHT
2866
+ - ▁VISIBLE
2867
+ - ▁ASHAMED
2868
+ - ▁TEAR
2869
+ - ▁NEIGHBOUR
2870
+ - ▁CONSTITUTION
2871
+ - ▁INTELLIGENCE
2872
+ - ▁PROFESSION
2873
+ - ▁HUNGRY
2874
+ - RIDGE
2875
+ - ▁SMELL
2876
+ - ▁STORIES
2877
+ - ▁LISTENING
2878
+ - ▁APPROACH
2879
+ - ▁STRING
2880
+ - ▁EXPLANATION
2881
+ - ▁IMMENSE
2882
+ - ▁RELIGIOUS
2883
+ - ▁THROUGHOUT
2884
+ - ▁HOLLOW
2885
+ - ▁AWAIT
2886
+ - ▁FLYING
2887
+ - ▁SCREAM
2888
+ - ▁ACTIVE
2889
+ - ▁RUM
2890
+ - ▁PRODUCT
2891
+ - ▁UNHAPPY
2892
+ - ▁VAGUE
2893
+ - ARIES
2894
+ - ▁ELIZABETH
2895
+ - ▁STUPID
2896
+ - ▁DIGNITY
2897
+ - ▁ISABEL
2898
+ - GAR
2899
+ - ▁BRO
2900
+ - ▁PITCH
2901
+ - ▁COMRADE
2902
+ - ▁STIFF
2903
+ - ▁RECKON
2904
+ - ▁SOLD
2905
+ - ▁SPARK
2906
+ - ▁STRO
2907
+ - ▁CRYING
2908
+ - ▁MAGIC
2909
+ - ▁REPEAT
2910
+ - PORT
2911
+ - ▁MARKED
2912
+ - ▁COMFORTABLE
2913
+ - ▁PROJECT
2914
+ - ▁BECOMING
2915
+ - ▁PARENTS
2916
+ - ▁SHELTER
2917
+ - ▁STOLE
2918
+ - ▁HINT
2919
+ - ▁NEST
2920
+ - ▁TRICK
2921
+ - ▁THOROUGHLY
2922
+ - ▁HOSPITAL
2923
+ - ▁WEAPON
2924
+ - ▁ROME
2925
+ - ▁STYLE
2926
+ - ▁ADMITTED
2927
+ - ▁SAFETY
2928
+ - FIELD
2929
+ - ▁UNDERSTANDING
2930
+ - ▁TREMBLE
2931
+ - ▁PRINT
2932
+ - ▁SLAVES
2933
+ - ▁WEARY
2934
+ - ▁ARTIST
2935
+ - ▁CREDIT
2936
+ - BURG
2937
+ - ▁CONCLUSION
2938
+ - ▁SELDOM
2939
+ - ▁UNUSUAL
2940
+ - ▁CLOUDS
2941
+ - ▁UNABLE
2942
+ - ▁GAY
2943
+ - ▁HANGING
2944
+ - ▁SCR
2945
+ - ▁BOWED
2946
+ - ▁DAVID
2947
+ - ▁VOL
2948
+ - ▁PUSHED
2949
+ - ▁ESCAPED
2950
+ - MOND
2951
+ - ▁WARN
2952
+ - ▁BETRAY
2953
+ - ▁EGGS
2954
+ - ▁PLAINLY
2955
+ - ▁EXHIBIT
2956
+ - ▁DISPLAY
2957
+ - ▁MEMBER
2958
+ - ▁GRIN
2959
+ - ▁PROSPECT
2960
+ - ▁BRUSH
2961
+ - ▁BID
2962
+ - ▁SUCCESSFUL
2963
+ - ▁EXTENT
2964
+ - ▁PERSUADE
2965
+ - ▁MID
2966
+ - ▁MOOD
2967
+ - ▁ARRANGED
2968
+ - ▁UNIVERSAL
2969
+ - ▁JIM
2970
+ - ▁SIGNAL
2971
+ - ▁WHILST
2972
+ - ▁PHILIP
2973
+ - ▁WOLF
2974
+ - RATE
2975
+ - ▁EAGERLY
2976
+ - ▁BILLY
2977
+ - ▁RETURNING
2978
+ - ▁CONSCIENCE
2979
+ - ▁FORTUNATE
2980
+ - ▁FEMALE
2981
+ - ▁GLEAM
2982
+ - ▁HASTILY
2983
+ - ▁PROVIDED
2984
+ - ▁OBTAIN
2985
+ - ��INSTINCT
2986
+ - ▁CONCERNED
2987
+ - ▁CONCERNING
2988
+ - ▁SOMEHOW
2989
+ - ▁PINK
2990
+ - ▁RAGE
2991
+ - ▁ACCUSTOMED
2992
+ - ▁UNCONSCIOUS
2993
+ - ▁ADVISE
2994
+ - ▁BRANCHES
2995
+ - ▁TINY
2996
+ - ▁REFUSE
2997
+ - ▁BISHOP
2998
+ - ▁SUPPLY
2999
+ - ▁PEASANT
3000
+ - ▁LAWYER
3001
+ - ▁WASTE
3002
+ - ▁CONNECTION
3003
+ - ▁DEVELOP
3004
+ - ▁CORRESPOND
3005
+ - ▁PLUM
3006
+ - ▁NODDED
3007
+ - ▁SLIPPED
3008
+ - ▁EU
3009
+ - ▁CONSTANTLY
3010
+ - CUM
3011
+ - MMED
3012
+ - ▁FAIRLY
3013
+ - HOUSE
3014
+ - ▁KIT
3015
+ - ▁RANG
3016
+ - ▁FEATURES
3017
+ - ▁PAUSE
3018
+ - ▁PAINFUL
3019
+ - ▁JOE
3020
+ - ▁WHENCE
3021
+ - ▁LAUGHTER
3022
+ - ▁COACH
3023
+ - ▁CHRISTMAS
3024
+ - ▁EATING
3025
+ - ▁WHOLLY
3026
+ - ▁APART
3027
+ - ▁SUPER
3028
+ - ▁REVOLUTION
3029
+ - ▁LONELY
3030
+ - ▁CHEEKS
3031
+ - ▁THRONE
3032
+ - ▁CREW
3033
+ - ▁ATTAIN
3034
+ - ▁ESTABLISHED
3035
+ - TIME
3036
+ - ▁DASH
3037
+ - ▁FRIENDLY
3038
+ - ▁OPERA
3039
+ - ▁EARL
3040
+ - ▁EXHAUST
3041
+ - ▁CLIFF
3042
+ - ▁REVEAL
3043
+ - ▁ADOPT
3044
+ - ▁CENTRE
3045
+ - ▁MERRY
3046
+ - ▁SYLVIA
3047
+ - ▁IDEAL
3048
+ - ▁MISFORTUNE
3049
+ - ▁FEAST
3050
+ - ▁ARAB
3051
+ - ▁NUT
3052
+ - ▁FETCH
3053
+ - ▁FOUGHT
3054
+ - ▁PILE
3055
+ - ▁SETTING
3056
+ - ▁SOURCE
3057
+ - ▁PERSIST
3058
+ - ▁MERCY
3059
+ - ▁BARK
3060
+ - ▁LUC
3061
+ - ▁DEEPLY
3062
+ - ▁COMPARE
3063
+ - ▁ATTITUDE
3064
+ - ▁ENDURE
3065
+ - ▁DELIGHTFUL
3066
+ - ▁BEARD
3067
+ - ▁PATIENCE
3068
+ - ▁LOCAL
3069
+ - ▁UTTERED
3070
+ - ▁VICTORY
3071
+ - ▁TREATED
3072
+ - ▁SEPARATE
3073
+ - ▁WAG
3074
+ - ▁DRAGG
3075
+ - ▁TITLE
3076
+ - ▁TROOPS
3077
+ - ▁TRIUMPH
3078
+ - ▁REAR
3079
+ - ▁GAINED
3080
+ - ▁SINK
3081
+ - ▁DEFEND
3082
+ - ▁TIED
3083
+ - ▁FLED
3084
+ - ▁DARED
3085
+ - ▁INCREASE
3086
+ - ▁POND
3087
+ - ▁CONQUER
3088
+ - ▁FOREHEAD
3089
+ - ▁FAN
3090
+ - ▁ANXIETY
3091
+ - ▁ENCOUNTER
3092
+ - ▁SEX
3093
+ - ▁HALT
3094
+ - ▁SANK
3095
+ - ▁CHEEK
3096
+ - ▁HUMBLE
3097
+ - ▁WRITER
3098
+ - ▁EMPLOYED
3099
+ - ▁DISTINGUISHED
3100
+ - ▁RAISE
3101
+ - ▁WHIP
3102
+ - ▁GIANT
3103
+ - ▁RANGE
3104
+ - ▁OBTAINED
3105
+ - ▁FLAG
3106
+ - ▁MAC
3107
+ - ▁JUMPED
3108
+ - ▁DISCOVERY
3109
+ - ▁NATIONAL
3110
+ - ▁COMMISSION
3111
+ - ▁POSITIVE
3112
+ - ▁LOVING
3113
+ - ▁EXACT
3114
+ - ▁MURMURED
3115
+ - ▁GAZED
3116
+ - ▁REFER
3117
+ - ▁COLLEGE
3118
+ - ▁ENCOURAGE
3119
+ - ▁NOVEL
3120
+ - ▁CLOCK
3121
+ - ▁MORTAL
3122
+ - ▁ROLLED
3123
+ - ▁RAT
3124
+ - IZING
3125
+ - ▁GUILTY
3126
+ - ▁VICTOR
3127
+ - WORTH
3128
+ - ▁PRA
3129
+ - ▁APPROACHING
3130
+ - ▁RELATIVE
3131
+ - ▁ESTATE
3132
+ - ▁UGLY
3133
+ - ▁METAL
3134
+ - ▁ROBERT
3135
+ - ▁TENT
3136
+ - ▁ADMIRATION
3137
+ - ▁FOURTEEN
3138
+ - ▁BARBAR
3139
+ - ▁WITCH
3140
+ - ELLA
3141
+ - ▁CAKE
3142
+ - ▁SHONE
3143
+ - ▁MANAGED
3144
+ - ▁VOLUME
3145
+ - ▁GREEK
3146
+ - ▁DANCING
3147
+ - ▁WRETCHED
3148
+ - ▁CONDEMN
3149
+ - ▁MAGNIFICENT
3150
+ - ▁CONSULT
3151
+ - J
3152
+ - ▁ORGAN
3153
+ - ▁FLEET
3154
+ - ▁ARRANGEMENT
3155
+ - ▁INCIDENT
3156
+ - ▁MISERY
3157
+ - ▁ARROW
3158
+ - ▁STROKE
3159
+ - ▁ASSIST
3160
+ - ▁BUILD
3161
+ - ▁SUCCEED
3162
+ - ▁DESPERATE
3163
+ - ▁WIDOW
3164
+ - UDE
3165
+ - ▁MARKET
3166
+ - ▁WISDOM
3167
+ - ▁PRECISE
3168
+ - ▁CURRENT
3169
+ - ▁SPOIL
3170
+ - ▁BADE
3171
+ - ▁WOODEN
3172
+ - ▁RESIST
3173
+ - ▁OBVIOUS
3174
+ - ▁SENSIBLE
3175
+ - FALL
3176
+ - ▁ADDRESSED
3177
+ - ▁GIL
3178
+ - ▁COUNSEL
3179
+ - ▁PURCHASE
3180
+ - ▁SELECT
3181
+ - ▁USELESS
3182
+ - ▁STARED
3183
+ - ▁ARREST
3184
+ - ▁POISON
3185
+ - ▁FIN
3186
+ - ▁SWALLOW
3187
+ - ▁BLOCK
3188
+ - ▁SLID
3189
+ - ▁NINETY
3190
+ - ▁SPORT
3191
+ - ▁PROVIDE
3192
+ - ▁ANNA
3193
+ - ▁LAMB
3194
+ - ▁INTERVAL
3195
+ - ▁JUMP
3196
+ - ▁DESCRIBED
3197
+ - ▁STRIKING
3198
+ - ▁PROVISION
3199
+ - ▁PROPOSED
3200
+ - ▁MELANCHOLY
3201
+ - ▁WARRIOR
3202
+ - ▁SUGGEST
3203
+ - ▁DEPARTURE
3204
+ - ▁BURDEN
3205
+ - ▁LIMB
3206
+ - ▁TROUBLED
3207
+ - ▁MEADOW
3208
+ - ▁SACRED
3209
+ - ▁SOLID
3210
+ - ▁TRU
3211
+ - ▁LUCY
3212
+ - ▁RECOVER
3213
+ - ▁ENERGY
3214
+ - ▁POWDER
3215
+ - ▁RESUMED
3216
+ - ▁INTENSE
3217
+ - ▁BRITISH
3218
+ - ▁STRAW
3219
+ - ▁AGREEABLE
3220
+ - ▁EVERYONE
3221
+ - ▁CONCERN
3222
+ - ▁VOYAGE
3223
+ - ▁SOUTHERN
3224
+ - ▁BOSOM
3225
+ - ▁UTTERLY
3226
+ - ▁FEED
3227
+ - ▁ESSENTIAL
3228
+ - ▁CONFINE
3229
+ - ▁HOUSEHOLD
3230
+ - ▁EXTREMELY
3231
+ - ▁WONDERING
3232
+ - ▁LIST
3233
+ - ▁PINE
3234
+ - PHA
3235
+ - ▁EXPERIMENT
3236
+ - ▁JOSEPH
3237
+ - ▁MYSTERY
3238
+ - ▁RESTORE
3239
+ - ▁BLUSH
3240
+ - FOLD
3241
+ - ▁CHOSEN
3242
+ - ▁INTELLECT
3243
+ - ▁CURTAIN
3244
+ - OLOGY
3245
+ - ▁MOUNTED
3246
+ - ▁LAP
3247
+ - ▁EPI
3248
+ - ▁PUNISH
3249
+ - ▁WEDDING
3250
+ - ▁RECOGNIZED
3251
+ - ▁DRIFT
3252
+ - ▁PREPARATION
3253
+ - ▁RESOLUTION
3254
+ - ▁OPPRESS
3255
+ - ▁FIX
3256
+ - ▁VICTIM
3257
+ - OGRAPH
3258
+ - ▁SUMMON
3259
+ - ▁JULIA
3260
+ - ▁FLOOD
3261
+ - ▁WAL
3262
+ - ULATION
3263
+ - ▁SLIGHTLY
3264
+ - ▁LODGE
3265
+ - ▁WIRE
3266
+ - ▁CONFUSION
3267
+ - ▁UNEXPECTED
3268
+ - ▁CONCEIVE
3269
+ - ▁PRIZE
3270
+ - ▁JESUS
3271
+ - ▁ADDITION
3272
+ - ▁RUDE
3273
+ - ▁FATAL
3274
+ - ▁CARELESS
3275
+ - ▁PATCH
3276
+ - ▁KO
3277
+ - ▁CATHERINE
3278
+ - ▁PARLIAMENT
3279
+ - ▁PROFOUND
3280
+ - ▁ALOUD
3281
+ - ▁RELIEVE
3282
+ - ▁PUSH
3283
+ - ABILITY
3284
+ - ▁ACCOMPANIED
3285
+ - ▁SOVEREIGN
3286
+ - ▁SINGULAR
3287
+ - ▁ECHO
3288
+ - ▁COMPOSED
3289
+ - ▁SHAKING
3290
+ - ATORY
3291
+ - ▁ASSISTANCE
3292
+ - ▁TEACHER
3293
+ - ▁HORRIBLE
3294
+ - ▁STRICT
3295
+ - ▁VERSE
3296
+ - ▁PUNISHMENT
3297
+ - ▁GOWN
3298
+ - ▁MISTAKEN
3299
+ - ▁VARI
3300
+ - ▁SWEPT
3301
+ - ▁GESTURE
3302
+ - ▁BUSH
3303
+ - ▁STEEL
3304
+ - ▁AFFECTED
3305
+ - ▁DIRECTED
3306
+ - ▁SURROUNDED
3307
+ - ▁ABSURD
3308
+ - ▁SUGAR
3309
+ - ▁SCRAP
3310
+ - ▁IMMEDIATE
3311
+ - ▁SADDLE
3312
+ - ▁TY
3313
+ - ▁ARISE
3314
+ - ▁SIGHED
3315
+ - ▁EXCHANGE
3316
+ - ▁IMPATIENT
3317
+ - ▁SNAP
3318
+ - ▁EMBRACE
3319
+ - ▁DISEASE
3320
+ - ▁PROFIT
3321
+ - ▁RIDING
3322
+ - ▁RECOVERED
3323
+ - ▁GOVERN
3324
+ - ▁STRETCH
3325
+ - ▁CONVINCED
3326
+ - ▁LEANING
3327
+ - ▁DOMESTIC
3328
+ - ▁COMPLEX
3329
+ - ▁MANIFEST
3330
+ - ▁INDULGE
3331
+ - ▁GENIUS
3332
+ - ▁AGENT
3333
+ - ▁VEIL
3334
+ - ▁DESCRIPTION
3335
+ - ▁INCLINED
3336
+ - ▁DECEIVE
3337
+ - ▁DARLING
3338
+ - ▁REIGN
3339
+ - HU
3340
+ - ▁ENORMOUS
3341
+ - ▁RESTRAIN
3342
+ - ▁DUTIES
3343
+ - BURY
3344
+ - TTERED
3345
+ - ▁POLE
3346
+ - ▁ENABLE
3347
+ - ▁EXCEPTION
3348
+ - ▁INTIMATE
3349
+ - ▁COUNTESS
3350
+ - ▁TRIBE
3351
+ - ▁HANDKERCHIEF
3352
+ - ▁MIDNIGHT
3353
+ - ▁PROBLEM
3354
+ - ▁TRAMP
3355
+ - ▁OIL
3356
+ - CAST
3357
+ - ▁CRUSH
3358
+ - ▁DISCUSS
3359
+ - ▁RAM
3360
+ - ▁TROT
3361
+ - ▁UNRE
3362
+ - ▁WHIRL
3363
+ - ▁LOCKED
3364
+ - ▁HORIZON
3365
+ - ▁OFFICIAL
3366
+ - ▁SCHEME
3367
+ - ▁DROWN
3368
+ - ▁PIERRE
3369
+ - ▁PERMITTED
3370
+ - ▁CONNECTED
3371
+ - ▁ASSURE
3372
+ - ▁COCK
3373
+ - ▁UTMOST
3374
+ - ▁DEVOTED
3375
+ - ▁RELI
3376
+ - ▁SUFFICIENTLY
3377
+ - ▁INTELLECTUAL
3378
+ - ▁CARPET
3379
+ - ▁OBJECTION
3380
+ - ▁AFTERWARD
3381
+ - ▁REALITY
3382
+ - ▁NEGRO
3383
+ - ▁RETAIN
3384
+ - ▁ASCEND
3385
+ - ▁CEASE
3386
+ - ▁KATE
3387
+ - ▁MARVEL
3388
+ - KO
3389
+ - ▁BOND
3390
+ - MOST
3391
+ - ▁COAL
3392
+ - GATE
3393
+ - ▁IGNORANT
3394
+ - ▁BREAKING
3395
+ - ▁TWIN
3396
+ - ▁ASTONISHMENT
3397
+ - ▁COFFEE
3398
+ - ▁JAR
3399
+ - ▁CITIES
3400
+ - ▁ORIGIN
3401
+ - ▁EXECUT
3402
+ - ▁FINAL
3403
+ - ▁INHABITANTS
3404
+ - ▁STABLE
3405
+ - ▁CHIN
3406
+ - ▁PARTIES
3407
+ - ▁PLUNGE
3408
+ - ▁GENEROUS
3409
+ - ▁DESCRIBE
3410
+ - ▁ANNOUNCED
3411
+ - ▁MERIT
3412
+ - ▁REVERE
3413
+ - ▁ERE
3414
+ - ACIOUS
3415
+ - ZI
3416
+ - ▁DISAPPOINT
3417
+ - ▁SUGGESTION
3418
+ - ▁DOUBTLESS
3419
+ - ▁TRUNK
3420
+ - ▁STAMP
3421
+ - ▁JOB
3422
+ - ▁APPOINTED
3423
+ - ▁DIVIDED
3424
+ - ▁ACQUAINTED
3425
+ - CHI
3426
+ - ▁ABSOLUTE
3427
+ - ▁FEARFUL
3428
+ - ▁PRIVILEGE
3429
+ - ▁CRAFT
3430
+ - ▁STEEP
3431
+ - ▁HUNTER
3432
+ - ▁FORBID
3433
+ - ▁MODEST
3434
+ - ▁ENDEAVOUR
3435
+ - ▁SWEEP
3436
+ - ▁BEHELD
3437
+ - ▁ABSORB
3438
+ - ▁CONSTRUCT
3439
+ - ▁EMPIRE
3440
+ - ▁EXPEDITION
3441
+ - ▁ERECT
3442
+ - ▁OFFEND
3443
+ - ▁INTEND
3444
+ - ▁PERMIT
3445
+ - ▁DESTROYED
3446
+ - ▁CONTRACT
3447
+ - ▁THIRST
3448
+ - ▁WAGON
3449
+ - ▁EVA
3450
+ - ▁GLOOM
3451
+ - ▁ATMOSPHERE
3452
+ - ▁RESERVE
3453
+ - ▁VOTE
3454
+ - ▁GER
3455
+ - ▁NONSENSE
3456
+ - ▁PREVAIL
3457
+ - ▁QUALITY
3458
+ - ▁CLASP
3459
+ - ▁CONCLUDED
3460
+ - ▁RAP
3461
+ - ▁KATY
3462
+ - ▁ETERNAL
3463
+ - ▁MUTTERED
3464
+ - ▁NEGLECT
3465
+ - ▁SQUIRE
3466
+ - ▁CREEP
3467
+ - LOCK
3468
+ - ▁ELECTRIC
3469
+ - ▁HAY
3470
+ - ▁EXPENSE
3471
+ - ▁SCORN
3472
+ - ▁RETIRED
3473
+ - ▁STOUT
3474
+ - ▁MURMUR
3475
+ - ▁SHARPLY
3476
+ - ▁DISTRICT
3477
+ - ▁LEAF
3478
+ - ▁FAILURE
3479
+ - WICK
3480
+ - ▁JEAN
3481
+ - ▁NUMEROUS
3482
+ - ▁INFANT
3483
+ - ▁REALIZED
3484
+ - ▁TRAVELLER
3485
+ - ▁HUNGER
3486
+ - ▁JUNE
3487
+ - ▁MUN
3488
+ - ▁RECOMMEND
3489
+ - ▁CREP
3490
+ - ZZLE
3491
+ - ▁RICHARD
3492
+ - WORK
3493
+ - ▁MONTE
3494
+ - ▁PREACH
3495
+ - ▁PALM
3496
+ - AVI
3497
+ - ▁ANYWHERE
3498
+ - ▁DISPOSITION
3499
+ - ▁MIRROR
3500
+ - ▁VENTURE
3501
+ - ▁POUND
3502
+ - ▁CIGAR
3503
+ - ▁INVITED
3504
+ - ▁BENCH
3505
+ - ▁PROTECTION
3506
+ - ▁BENEFIT
3507
+ - ▁THOMAS
3508
+ - ▁CLERK
3509
+ - ▁REPROACH
3510
+ - ▁UNIFORM
3511
+ - ▁GENERATION
3512
+ - ▁SEAL
3513
+ - ▁COMPASS
3514
+ - ▁WARNING
3515
+ - ▁EXTENDED
3516
+ - ▁DIFFICULTIES
3517
+ - ▁MAYBE
3518
+ - ▁GROAN
3519
+ - ▁AFFECT
3520
+ - ▁COMB
3521
+ - ▁EARN
3522
+ - ▁WESTERN
3523
+ - ▁IDLE
3524
+ - ▁SCORE
3525
+ - ▁TAP
3526
+ - ▁ASTONISHED
3527
+ - ▁INTRODUCED
3528
+ - ▁LEISURE
3529
+ - ▁LIEUTENANT
3530
+ - ▁VIOLENCE
3531
+ - ▁FIRMLY
3532
+ - ▁MONSTER
3533
+ - ▁UR
3534
+ - ▁PROPERLY
3535
+ - ▁TWIST
3536
+ - ▁PIRATE
3537
+ - ▁ROBBER
3538
+ - ▁BATTER
3539
+ - ▁WEPT
3540
+ - ▁LEANED
3541
+ - ▁FOG
3542
+ - ▁ORNAMENT
3543
+ - ▁ANDREW
3544
+ - ▁BUSHES
3545
+ - ▁REPUBLIC
3546
+ - ▁CONFIDENT
3547
+ - ▁LEAN
3548
+ - ▁DART
3549
+ - ▁STOOP
3550
+ - ▁CURL
3551
+ - ▁COUNTER
3552
+ - ▁NORTHERN
3553
+ - ▁PEARL
3554
+ - ▁NEAREST
3555
+ - ▁FRANCIS
3556
+ - ▁WANDERING
3557
+ - ▁FREQUENT
3558
+ - ▁STARTLED
3559
+ - ▁STATEMENT
3560
+ - ▁OCCUR
3561
+ - ▁BLOOM
3562
+ - ▁NERVE
3563
+ - ▁INSPECT
3564
+ - ▁INDUCE
3565
+ - ▁FLATTER
3566
+ - ▁DATE
3567
+ - ▁AMBITION
3568
+ - ▁SLOPE
3569
+ - ▁MALE
3570
+ - ▁MADAM
3571
+ - ▁MONK
3572
+ - ▁RENT
3573
+ - ▁CONFIRM
3574
+ - ▁INVESTIGAT
3575
+ - ▁RABBIT
3576
+ - ▁REGIMENT
3577
+ - ▁SUBMIT
3578
+ - ▁SPELL
3579
+ - ▁FURIOUS
3580
+ - ▁RAIL
3581
+ - ▁BESTOW
3582
+ - ▁RALPH
3583
+ - ▁SCATTERED
3584
+ - ▁COMPELLED
3585
+ - ▁THREAD
3586
+ - ▁CHILL
3587
+ - ▁DENY
3588
+ - ▁PRONOUNC
3589
+ - ▁MANKIND
3590
+ - ▁CATTLE
3591
+ - ▁EXECUTION
3592
+ - ▁REBEL
3593
+ - ▁SUPREME
3594
+ - ▁VALUABLE
3595
+ - ▁LIKEWISE
3596
+ - ▁CONVEY
3597
+ - ▁TIDE
3598
+ - ▁GLOOMY
3599
+ - ▁COIN
3600
+ - ▁ACTUAL
3601
+ - ▁TAX
3602
+ - ▁PROVINCE
3603
+ - ▁GRATEFUL
3604
+ - ▁SPIRITUAL
3605
+ - ▁VANISHED
3606
+ - ▁DIANA
3607
+ - ▁HAUNT
3608
+ - ▁DRAGON
3609
+ - ▁CRAWL
3610
+ - ▁CHINA
3611
+ - ▁GRATITUDE
3612
+ - ▁NEAT
3613
+ - ▁FINISH
3614
+ - ▁INTENT
3615
+ - ▁FRIGHT
3616
+ - ▁EMBARRASS
3617
+ - ▁THIRTEEN
3618
+ - ▁RUTH
3619
+ - ▁SLIGHTEST
3620
+ - ▁DEVELOPMENT
3621
+ - ▁INTERVIEW
3622
+ - ▁SPECTACLE
3623
+ - ▁BROOK
3624
+ - VIE
3625
+ - ▁WEAKNESS
3626
+ - ▁AUDIENCE
3627
+ - ▁CONSEQUENTLY
3628
+ - ▁ABROAD
3629
+ - ▁ASPECT
3630
+ - ▁PAINTED
3631
+ - ▁RELEASE
3632
+ - ▁INSULT
3633
+ - ▁SOOTH
3634
+ - ▁DISAPPOINTMENT
3635
+ - ▁EMERG
3636
+ - ▁BRIG
3637
+ - ▁ESTEEM
3638
+ - ▁INVITATION
3639
+ - ▁PASSENGER
3640
+ - ▁PUBLISH
3641
+ - ▁PIANO
3642
+ - ▁IRISH
3643
+ - ▁DESK
3644
+ - ▁BEATEN
3645
+ - ▁FIFTH
3646
+ - ▁IMPULSE
3647
+ - ▁SWEAR
3648
+ - ▁EATEN
3649
+ - ▁PURPLE
3650
+ - ▁COMMITTED
3651
+ - ▁COUNTRIES
3652
+ - ▁PERCEIVE
3653
+ - ISON
3654
+ - ▁CELEBRAT
3655
+ - ▁GRANDMOTHER
3656
+ - ▁SHUDDER
3657
+ - ▁SUNSHINE
3658
+ - ▁SPANISH
3659
+ - ▁HITHERTO
3660
+ - ▁MARILLA
3661
+ - ▁SNAKE
3662
+ - ▁MOCK
3663
+ - ▁INTERFERE
3664
+ - ▁WALTER
3665
+ - ▁AMID
3666
+ - ▁MARBLE
3667
+ - ▁MISSION
3668
+ - TERIOR
3669
+ - ▁DRIVING
3670
+ - ▁FURNITURE
3671
+ - ▁STEADY
3672
+ - ▁CIRCUMSTANCE
3673
+ - ▁INTERPRET
3674
+ - ▁ENCHANT
3675
+ - ▁ERROR
3676
+ - ▁CONVICTION
3677
+ - ▁HELPLESS
3678
+ - ▁MEDICINE
3679
+ - ▁QUALITIES
3680
+ - ▁ITALIAN
3681
+ - ▁HASTENED
3682
+ - ▁OCCASIONALLY
3683
+ - ▁PURSUED
3684
+ - ▁HESITATED
3685
+ - ▁INDEPENDENT
3686
+ - ▁OLIVER
3687
+ - ▁LINGER
3688
+ - UX
3689
+ - ▁EXAMINED
3690
+ - ▁REPENT
3691
+ - ▁PHYSICIAN
3692
+ - ▁CHASE
3693
+ - ▁BELOVED
3694
+ - ▁ATTACHED
3695
+ - ▁FLORENCE
3696
+ - ▁HONEY
3697
+ - ▁MOUSE
3698
+ - ▁CRIES
3699
+ - ▁BAKE
3700
+ - ▁POEM
3701
+ - ▁DESTRUCTION
3702
+ - ▁FULFIL
3703
+ - ▁MESSENGER
3704
+ - ▁TRISTRAM
3705
+ - ▁FANCIED
3706
+ - ▁EXCESS
3707
+ - ▁CURSE
3708
+ - ▁CHU
3709
+ - ▁QUANTITY
3710
+ - ▁THORNTON
3711
+ - ▁CREATED
3712
+ - ▁CONTINUALLY
3713
+ - ▁LIGHTNING
3714
+ - ▁BORNE
3715
+ - ▁TOTAL
3716
+ - ▁DISPOSED
3717
+ - ▁RIFLE
3718
+ - ▁POLLY
3719
+ - ▁GOAT
3720
+ - ▁BACKWARD
3721
+ - ▁VIRGINIA
3722
+ - ▁KICK
3723
+ - ▁PERIL
3724
+ - ▁QUO
3725
+ - ▁GLORIOUS
3726
+ - ▁MULTITUDE
3727
+ - ▁LEATHER
3728
+ - ▁ABSENT
3729
+ - ▁DEMON
3730
+ - ▁DEBT
3731
+ - ▁TORTURE
3732
+ - ▁ACCORD
3733
+ - ▁MATE
3734
+ - ▁CATHOLIC
3735
+ - ▁PILL
3736
+ - ▁LIBRARY
3737
+ - ▁PURSUIT
3738
+ - ▁SHIRT
3739
+ - ▁DEAREST
3740
+ - ▁COLLAR
3741
+ - ▁BEACH
3742
+ - ▁ROBE
3743
+ - ▁DECLARE
3744
+ - ▁BRANCH
3745
+ - ▁TEMPT
3746
+ - ▁STEADILY
3747
+ - ▁DISGUST
3748
+ - ▁SILLY
3749
+ - ▁ARRIVE
3750
+ - ▁DRANK
3751
+ - ▁LEVI
3752
+ - ▁COMMUNICAT
3753
+ - ▁RACHEL
3754
+ - ▁WASHINGTON
3755
+ - ▁RESIGN
3756
+ - ▁MEANTIME
3757
+ - ▁LACE
3758
+ - ▁ENGAGEMENT
3759
+ - ▁QUIVER
3760
+ - ▁SEPARATED
3761
+ - ▁DISCUSSION
3762
+ - ▁VENTURED
3763
+ - ▁SURROUNDING
3764
+ - ▁POLISH
3765
+ - ▁NAIL
3766
+ - ▁SWELL
3767
+ - ▁JOKE
3768
+ - ▁LINCOLN
3769
+ - ▁STUDENT
3770
+ - ▁GLITTER
3771
+ - ▁RUSSIAN
3772
+ - ▁READILY
3773
+ - ▁CHRIS
3774
+ - ▁POVERTY
3775
+ - ▁DISGRACE
3776
+ - ▁CHEESE
3777
+ - ▁HEAVILY
3778
+ - ▁SCALE
3779
+ - ▁STAFF
3780
+ - ▁ENTREAT
3781
+ - ▁FAREWELL
3782
+ - ▁LUNCH
3783
+ - ▁PEEP
3784
+ - ▁MULE
3785
+ - ▁SOMEONE
3786
+ - ▁DISAPPEAR
3787
+ - ▁DECISION
3788
+ - ▁PISTOL
3789
+ - ▁PUN
3790
+ - ▁SPUR
3791
+ - ▁ASSUMED
3792
+ - ▁EXTEND
3793
+ - ▁ENTHUSIASM
3794
+ - ▁DEFINITE
3795
+ - ▁UNDERTAKE
3796
+ - ▁COMMITTEE
3797
+ - ▁SIMON
3798
+ - ▁FENCE
3799
+ - ▁APPLIED
3800
+ - ▁RELATED
3801
+ - ▁VICE
3802
+ - ▁UNPLEASANT
3803
+ - ▁PROBABLE
3804
+ - ▁PROCURE
3805
+ - ▁FROWN
3806
+ - ▁CLOAK
3807
+ - ▁HUMANITY
3808
+ - ▁FAMILIES
3809
+ - ▁PHILOSOPHER
3810
+ - ▁DWARF
3811
+ - ▁OVERCOME
3812
+ - ▁DEFEAT
3813
+ - ▁FASTENED
3814
+ - ▁MARSH
3815
+ - ▁CLASSES
3816
+ - ▁TOMB
3817
+ - ▁GRACIOUS
3818
+ - ▁REMOTE
3819
+ - ▁CELL
3820
+ - ▁SHRIEK
3821
+ - ▁RESCUE
3822
+ - ▁POOL
3823
+ - ▁ORGANIZ
3824
+ - ▁CHOSE
3825
+ - ▁CUTTING
3826
+ - ▁COWARD
3827
+ - ▁BORDER
3828
+ - ▁DIRTY
3829
+ - ▁MONKEY
3830
+ - ▁HOOK
3831
+ - ▁CHUCK
3832
+ - ▁EMILY
3833
+ - ▁JEST
3834
+ - ▁PLAC
3835
+ - ▁WEIGH
3836
+ - ▁ASSOCIATE
3837
+ - ▁GLIMPSE
3838
+ - ▁STUCK
3839
+ - ▁BOLT
3840
+ - ▁MURDERER
3841
+ - ▁PONY
3842
+ - ▁DISTINGUISH
3843
+ - ▁INSTITUTION
3844
+ - ▁CUNNING
3845
+ - ▁COMPLIMENT
3846
+ - ▁APPETITE
3847
+ - ▁REPUTATION
3848
+ - ▁FEEBLE
3849
+ - ▁KIN
3850
+ - ▁SERIES
3851
+ - ▁GRACEFUL
3852
+ - ▁PLATFORM
3853
+ - ▁BREEZE
3854
+ - ▁PHRASE
3855
+ - ▁CLAY
3856
+ - MONT
3857
+ - ▁RATTL
3858
+ - ▁OPPOSITION
3859
+ - ▁LANE
3860
+ - ▁BOAST
3861
+ - ▁GROWTH
3862
+ - ▁INCLINATION
3863
+ - ▁BEHAVE
3864
+ - ▁SUSAN
3865
+ - ▁DISTINCTION
3866
+ - ▁DISLIKE
3867
+ - ▁NICHOLAS
3868
+ - ▁SATISFY
3869
+ - ▁DRAMA
3870
+ - ▁ELBOW
3871
+ - ▁GAZING
3872
+ - ▁CONSUM
3873
+ - ▁SPIN
3874
+ - ▁OATH
3875
+ - ▁CHANNEL
3876
+ - ▁CHARACTERISTIC
3877
+ - ▁SPEAR
3878
+ - ▁SLAIN
3879
+ - ▁SAUCE
3880
+ - ▁FROG
3881
+ - ▁CONCEPTION
3882
+ - ▁TIMID
3883
+ - ▁ZEAL
3884
+ - ▁APPARENT
3885
+ - SHIRE
3886
+ - ▁CENTER
3887
+ - ▁VARIETY
3888
+ - ▁DUSK
3889
+ - ▁APT
3890
+ - ▁COLUMN
3891
+ - ▁REVENGE
3892
+ - ▁RIVAL
3893
+ - ▁IMITAT
3894
+ - ▁PASSIONATE
3895
+ - ▁SELFISH
3896
+ - ▁NORMAN
3897
+ - ▁REPAIR
3898
+ - ▁THRILL
3899
+ - ▁TREATMENT
3900
+ - ▁ROSA
3901
+ - ▁MARTIN
3902
+ - ▁INDIFFERENT
3903
+ - ▁THITHER
3904
+ - ▁GALLANT
3905
+ - ▁PEPPER
3906
+ - ▁RECOLLECT
3907
+ - ▁VINE
3908
+ - ▁SCARCE
3909
+ - ▁SHIELD
3910
+ - ▁MINGLED
3911
+ - CLOSE
3912
+ - ▁HARSH
3913
+ - ▁BRICK
3914
+ - ▁HUMOR
3915
+ - ▁MISCHIEF
3916
+ - ▁TREMENDOUS
3917
+ - ▁FUNCTION
3918
+ - ▁SMART
3919
+ - ▁SULTAN
3920
+ - ▁DISMISS
3921
+ - ▁THREATENED
3922
+ - ▁CHEAP
3923
+ - ▁FLOCK
3924
+ - ▁ENDEAVOR
3925
+ - ▁WHISK
3926
+ - ▁ITALY
3927
+ - ▁WAIST
3928
+ - ▁FLUTTER
3929
+ - ▁SMOKING
3930
+ - ▁MONARCH
3931
+ - ▁AFRICA
3932
+ - ▁ACCUSE
3933
+ - ▁HERBERT
3934
+ - ▁REFRESH
3935
+ - ▁REJOICE
3936
+ - ▁PILLOW
3937
+ - ▁EXPECTATION
3938
+ - ▁POETRY
3939
+ - ▁HOPELESS
3940
+ - ▁PERISH
3941
+ - ▁PHILOSOPHY
3942
+ - ▁WHISTLE
3943
+ - ▁BERNARD
3944
+ - ▁LAMENT
3945
+ - ▁IMPROVE
3946
+ - ▁SUP
3947
+ - ▁PERPLEX
3948
+ - ▁FOUNTAIN
3949
+ - ▁LEAGUE
3950
+ - ▁DESPISE
3951
+ - ▁IGNORANCE
3952
+ - ▁REFERENCE
3953
+ - ▁DUCK
3954
+ - ▁GROVE
3955
+ - ▁PURSE
3956
+ - ▁PARTNER
3957
+ - ▁PROPHET
3958
+ - ▁SHIVER
3959
+ - ▁NEIGHBOURHOOD
3960
+ - ▁REPRESENTATIVE
3961
+ - SAIL
3962
+ - ▁WIP
3963
+ - ▁ACQUIRED
3964
+ - ▁CHIMNEY
3965
+ - ▁DOCTRINE
3966
+ - ▁MAXIM
3967
+ - ▁ANGLE
3968
+ - ▁MAJORITY
3969
+ - ▁AUTUMN
3970
+ - ▁CONFUSED
3971
+ - ▁CRISTO
3972
+ - ▁ACHIEVE
3973
+ - ▁DISGUISE
3974
+ - ▁REDUCED
3975
+ - ▁EARLIER
3976
+ - ▁THEATRE
3977
+ - ▁DECIDE
3978
+ - MINATED
3979
+ - OLOGICAL
3980
+ - ▁OCCUPATION
3981
+ - ▁VIGOROUS
3982
+ - ▁CONTINENT
3983
+ - ▁DECLINE
3984
+ - ▁COMMUNITY
3985
+ - ▁MOTIONLESS
3986
+ - ▁HATRED
3987
+ - ▁COMMUNICATION
3988
+ - ▁BOWL
3989
+ - ▁COMMENT
3990
+ - ▁APPROVE
3991
+ - ▁CEREMONY
3992
+ - ▁CRIMINAL
3993
+ - ▁SCIENTIFIC
3994
+ - ▁DUCHESS
3995
+ - ▁VIVID
3996
+ - ▁SHIFT
3997
+ - ▁AVAIL
3998
+ - ▁DAMP
3999
+ - ▁JOHNSON
4000
+ - ▁SLENDER
4001
+ - ▁CONTRAST
4002
+ - ▁AMUSEMENT
4003
+ - ▁PLOT
4004
+ - ▁LYN
4005
+ - ▁ASSOCIATION
4006
+ - ▁SNATCH
4007
+ - ▁UNCERTAIN
4008
+ - ▁PRESSURE
4009
+ - ▁PERCH
4010
+ - ▁APPLY
4011
+ - ▁PLANET
4012
+ - ▁NOTWITHSTANDING
4013
+ - ▁SWUNG
4014
+ - ▁STIRRED
4015
+ - ▁ATTENDANT
4016
+ - ▁ENJOYMENT
4017
+ - ▁WORRY
4018
+ - ▁ALBERT
4019
+ - ▁NAKED
4020
+ - ▁TALENT
4021
+ - ▁MARIAN
4022
+ - ▁REFORM
4023
+ - ▁DELIBERATE
4024
+ - ▁INTELLIGENT
4025
+ - ▁SENSITIVE
4026
+ - ▁YONDER
4027
+ - ▁PUPIL
4028
+ - ▁FRIGHTFUL
4029
+ - ▁DOUBTFUL
4030
+ - ▁STANDARD
4031
+ - ▁MAGISTRATE
4032
+ - ▁SHEPHERD
4033
+ - ▁STOMACH
4034
+ - ▁DEPOSIT
4035
+ - ▁RENEW
4036
+ - ▁HEDGE
4037
+ - ▁FRANCS
4038
+ - ▁POSSIBILITY
4039
+ - ▁RESEMBLE
4040
+ - ▁FATIGUE
4041
+ - ▁PORTRAIT
4042
+ - ▁FAVORITE
4043
+ - ▁CREAM
4044
+ - ▁BURG
4045
+ - ▁SECRETARY
4046
+ - ▁DIVERS
4047
+ - ▁ACTIVITY
4048
+ - ▁SPECULAT
4049
+ - ▁HUMOUR
4050
+ - ▁FITTED
4051
+ - ▁EXTERNAL
4052
+ - ▁CETERA
4053
+ - ▁WRAPPED
4054
+ - ▁WHIT
4055
+ - ▁FRED
4056
+ - ▁EXAMINATION
4057
+ - ▁LODGING
4058
+ - ▁OWING
4059
+ - ▁JAW
4060
+ - ▁CROW
4061
+ - ▁BALANCE
4062
+ - ▁PUFF
4063
+ - ▁TENDERNESS
4064
+ - ▁PORTHOS
4065
+ - ▁ANCHOR
4066
+ - ▁INTERRUPT
4067
+ - ▁NECESSARILY
4068
+ - ▁PERPETUAL
4069
+ - ▁AGONY
4070
+ - ▁POPE
4071
+ - ▁SCHOLAR
4072
+ - ▁SCOTLAND
4073
+ - ▁SUPPRESS
4074
+ - ▁WRATH
4075
+ - ▁WRECK
4076
+ - ▁EXCEED
4077
+ - ▁PERFECTION
4078
+ - ▁INDIA
4079
+ - ▁TRADITION
4080
+ - ▁SECTION
4081
+ - ▁EASTERN
4082
+ - ▁DOORWAY
4083
+ - ▁WIVES
4084
+ - ▁CONVENTION
4085
+ - ▁ANNOUNC
4086
+ - ▁EGYPT
4087
+ - ▁CONTRADICT
4088
+ - ▁SCRATCH
4089
+ - ▁CENTRAL
4090
+ - ▁GLOVE
4091
+ - ▁WAX
4092
+ - ▁PREPARE
4093
+ - ▁ACCOMPANY
4094
+ - ▁INCREASING
4095
+ - ▁LIBERAL
4096
+ - ▁RAISING
4097
+ - ▁ORANGE
4098
+ - ▁SHOE
4099
+ - ▁ATTRIBUTE
4100
+ - ▁LITERATURE
4101
+ - ▁PUZZLED
4102
+ - ▁WITHDRAW
4103
+ - ▁WHITHER
4104
+ - ▁HAWK
4105
+ - ▁MOONLIGHT
4106
+ - ▁EXAMINE
4107
+ - ▁HAPPILY
4108
+ - ▁PRECEDE
4109
+ - ▁DETECTIVE
4110
+ - ▁INCHES
4111
+ - ▁SOLITARY
4112
+ - ▁DUTCH
4113
+ - ▁NAPOLEON
4114
+ - ▁UNEASY
4115
+ - ▁CARDINAL
4116
+ - ▁BLEW
4117
+ - ▁FOWL
4118
+ - ▁DECORAT
4119
+ - ▁CHILDHOOD
4120
+ - ▁TORMENT
4121
+ - ▁LOSING
4122
+ - ▁PERMISSION
4123
+ - ▁BLANK
4124
+ - ▁UPSTAIRS
4125
+ - ▁CAPACITY
4126
+ - ▁TRIFLE
4127
+ - ▁FOLLY
4128
+ - ▁RECOGNIZE
4129
+ - ▁REMOVE
4130
+ - ▁VENGEANCE
4131
+ - ▁ENTERPRISE
4132
+ - ▁BEDROOM
4133
+ - ▁ANYHOW
4134
+ - ▁INQUIRY
4135
+ - ▁ASHES
4136
+ - ▁DRAG
4137
+ - ▁HUSH
4138
+ - ▁AWKWARD
4139
+ - ▁SATURDAY
4140
+ - ▁GENUINE
4141
+ - ▁SURVIV
4142
+ - ▁SKIRT
4143
+ - ▁AFFECTIONATE
4144
+ - ▁TANG
4145
+ - ▁MUTUAL
4146
+ - ▁DISPUTE
4147
+ - ▁EAGLE
4148
+ - ▁INCOME
4149
+ - ▁BIND
4150
+ - ▁FAME
4151
+ - ▁IMPROVEMENT
4152
+ - ROVING
4153
+ - ▁DIFFER
4154
+ - ▁AWOKE
4155
+ - ▁SLEEVE
4156
+ - ▁SOLITUDE
4157
+ - ▁FAVOURITE
4158
+ - JI
4159
+ - ▁DETECT
4160
+ - ▁COMPREHEND
4161
+ - ▁PREPARING
4162
+ - ▁SERPENT
4163
+ - ▁SUMMIT
4164
+ - ▁KNOT
4165
+ - ▁KNIT
4166
+ - ▁COPY
4167
+ - ▁STOPPING
4168
+ - ▁FADED
4169
+ - ▁HIDEOUS
4170
+ - ▁JULIE
4171
+ - STEAD
4172
+ - ▁SHINE
4173
+ - ▁CONFLICT
4174
+ - ▁PROPOSITION
4175
+ - ▁REFUGE
4176
+ - ▁GALLERY
4177
+ - ▁BUNDLE
4178
+ - ▁AXE
4179
+ - ▁SLAVERY
4180
+ - ▁MASK
4181
+ - ▁ALYOSHA
4182
+ - ▁LADDER
4183
+ - ▁DEPARTMENT
4184
+ - ▁DISCHARGE
4185
+ - ▁DEPRESS
4186
+ - ▁GALLOP
4187
+ - ▁SCARLET
4188
+ - ▁KITTY
4189
+ - ▁RECEIVING
4190
+ - ▁SURRENDER
4191
+ - ▁SUSTAIN
4192
+ - ▁TWILIGHT
4193
+ - ▁CONGRESS
4194
+ - ▁IRELAND
4195
+ - ▁FUNNY
4196
+ - ▁LEND
4197
+ - ▁CONSTITUTE
4198
+ - ▁FUNERAL
4199
+ - ▁CRYSTAL
4200
+ - ▁SPAIN
4201
+ - ▁EXCEEDINGLY
4202
+ - ▁DAMN
4203
+ - ▁COMMUN
4204
+ - ▁CIVILIZATION
4205
+ - ▁PREJUDICE
4206
+ - ▁PORCH
4207
+ - ▁ASSISTANT
4208
+ - ▁INDUSTRY
4209
+ - ▁TUMBLE
4210
+ - ▁DEFENCE
4211
+ - ▁HITHER
4212
+ - ▁SMOT
4213
+ - ▁COLONI
4214
+ - ▁AMAZEMENT
4215
+ - ▁MARGUERITE
4216
+ - ▁MIRACLE
4217
+ - ▁INHERIT
4218
+ - ▁BEGGAR
4219
+ - ▁ENVELOPE
4220
+ - ▁INDIGNATION
4221
+ - ▁NATASHA
4222
+ - ▁PROPOSAL
4223
+ - ▁FRAGMENT
4224
+ - ▁ROUSED
4225
+ - ▁ROAST
4226
+ - ENCIES
4227
+ - ▁COMMENCED
4228
+ - ▁RESOURCE
4229
+ - ▁POPULATION
4230
+ - ▁QUOTH
4231
+ - ▁PURSUE
4232
+ - ▁EDUCAT
4233
+ - ▁AFFLICT
4234
+ - ▁CONTACT
4235
+ - ▁CRIMSON
4236
+ - ▁DIVISION
4237
+ - ▁DISORDER
4238
+ - ▁COPPER
4239
+ - ▁SOLICIT
4240
+ - ▁MODERATE
4241
+ - ▁DRUM
4242
+ - ▁SWIM
4243
+ - ▁SALUTE
4244
+ - ▁ASSUME
4245
+ - ▁MUSCLE
4246
+ - ▁OVERWHELM
4247
+ - ▁SHAKESPEARE
4248
+ - ▁STRUGGLING
4249
+ - ▁TRANQUIL
4250
+ - ▁CHICKEN
4251
+ - ▁TREAD
4252
+ - ▁CLAW
4253
+ - ▁BIBLE
4254
+ - ▁RIDGE
4255
+ - ▁THREAT
4256
+ - ▁VELVET
4257
+ - ▁EXPOSED
4258
+ - ▁IDIOT
4259
+ - ▁BARREL
4260
+ - ▁PENNY
4261
+ - ▁TEMPTATION
4262
+ - ▁DANGLARS
4263
+ - ▁CENTURIES
4264
+ - ▁DISTRIBUT
4265
+ - ▁REJECT
4266
+ - ▁RETORTED
4267
+ - ▁CONCENTRAT
4268
+ - ▁CORDIAL
4269
+ - ▁MOTOR
4270
+ - ▁CANNON
4271
+ - KEEP
4272
+ - ▁WRETCH
4273
+ - ▁ASSURANCE
4274
+ - ▁THIEF
4275
+ - ▁SURVEY
4276
+ - ▁VITAL
4277
+ - ▁RAILWAY
4278
+ - ▁JACKSON
4279
+ - ▁CRASH
4280
+ - ▁GROWL
4281
+ - ▁COMBAT
4282
+ - ▁RECOLLECTION
4283
+ - ▁SECURITY
4284
+ - ▁JACOB
4285
+ - ▁CLUTCH
4286
+ - ▁BLANKET
4287
+ - ▁NANCY
4288
+ - ▁CELLAR
4289
+ - ▁CONVENIENT
4290
+ - ▁INDIGNANT
4291
+ - ▁COARSE
4292
+ - ▁WORM
4293
+ - ▁SCREEN
4294
+ - ▁TRANSPORT
4295
+ - ▁BULLET
4296
+ - ▁APPRECIATE
4297
+ - ▁DEVOTION
4298
+ - ▁INVISIBLE
4299
+ - ▁DRIED
4300
+ - ▁MIXTURE
4301
+ - ▁CANDID
4302
+ - ▁PERFORMANCE
4303
+ - ▁RIPE
4304
+ - ▁EXQUISITE
4305
+ - ▁BARGAIN
4306
+ - ▁TOBACCO
4307
+ - ▁LOYAL
4308
+ - ▁MOULD
4309
+ - ▁ATTENTIVE
4310
+ - ▁DOROTHY
4311
+ - ▁BRUTE
4312
+ - ▁ESTABLISHMENT
4313
+ - ▁ABILITY
4314
+ - ▁INHABIT
4315
+ - ▁OBSCURE
4316
+ - ▁BORROW
4317
+ - ▁ESSENCE
4318
+ - ▁DISMAY
4319
+ - ▁FLEE
4320
+ - ▁BLADE
4321
+ - ▁PLUCK
4322
+ - ▁COFFIN
4323
+ - ▁SUNSET
4324
+ - ▁STEPHEN
4325
+ - ▁ECONOMIC
4326
+ - ▁HOLIDAY
4327
+ - ▁MECHANICAL
4328
+ - ▁COTTON
4329
+ - ▁AWAKENED
4330
+ - ▁SEIZE
4331
+ - ▁RIDICULOUS
4332
+ - ▁SANCHO
4333
+ - ▁HESITATION
4334
+ - ▁CORPSE
4335
+ - ▁SAVING
4336
+ - HOLD
4337
+ - FOOT
4338
+ - ▁ELDEST
4339
+ - ▁DESPITE
4340
+ - ▁EDITH
4341
+ - ▁CHERISH
4342
+ - ▁RESISTANCE
4343
+ - ▁WILSON
4344
+ - ▁ARGUE
4345
+ - ▁INQUIRE
4346
+ - ▁APPREHENSION
4347
+ - ▁AVENUE
4348
+ - ▁DRAKE
4349
+ - ▁PROPOSE
4350
+ - HURST
4351
+ - ▁INFERIOR
4352
+ - ▁STAIRCASE
4353
+ - ▁WHEREFORE
4354
+ - ▁CARLYLE
4355
+ - ▁COUCH
4356
+ - ▁ROUTE
4357
+ - ▁POLITICS
4358
+ - ▁TOMORROW
4359
+ - ▁THRONG
4360
+ - ▁NAUGHT
4361
+ - ▁SUNLIGHT
4362
+ - ▁INDIFFERENCE
4363
+ - ▁OBEDIENCE
4364
+ - ▁RECEPTION
4365
+ - ▁VEGETABLE
4366
+ - ▁IMPERFECT
4367
+ - ▁RESIDENCE
4368
+ - ▁TURKEY
4369
+ - ▁VIOLET
4370
+ - ▁SARAH
4371
+ - ▁ALTAR
4372
+ - ▁GRIEVE
4373
+ - ▁JERK
4374
+ - ▁ENSU
4375
+ - ▁MAGICIAN
4376
+ - ▁BLOSSOM
4377
+ - ▁LANTERN
4378
+ - ▁RESOLUTE
4379
+ - ▁THOUGHTFULLY
4380
+ - ▁FORTNIGHT
4381
+ - ▁TRUMPET
4382
+ - ▁VALJEAN
4383
+ - ▁UNWILLING
4384
+ - ▁LECTURE
4385
+ - ▁WHEREUPON
4386
+ - ▁HOLLAND
4387
+ - ▁CHANGING
4388
+ - ▁CREEK
4389
+ - ▁SLICE
4390
+ - ▁NORMAL
4391
+ - ▁ANNIE
4392
+ - ▁ACCENT
4393
+ - ▁FREDERICK
4394
+ - ▁DISAGREEABLE
4395
+ - ▁RUBBED
4396
+ - ▁DUMB
4397
+ - ▁ESTABLISH
4398
+ - ▁IMPORT
4399
+ - ▁AFFIRM
4400
+ - ▁MATTHEW
4401
+ - ▁BRISK
4402
+ - ▁CONVERT
4403
+ - ▁BENDING
4404
+ - ▁IVAN
4405
+ - ▁MADEMOISELLE
4406
+ - ▁MICHAEL
4407
+ - ▁EASIER
4408
+ - ▁JONES
4409
+ - ▁FACING
4410
+ - ▁EXCELLENCY
4411
+ - ▁LITERARY
4412
+ - ▁GOSSIP
4413
+ - ▁DEVOUR
4414
+ - ▁STAGGER
4415
+ - ▁PENCIL
4416
+ - ▁AVERAGE
4417
+ - ▁HAMMER
4418
+ - ▁TRIUMPHANT
4419
+ - ▁PREFERRED
4420
+ - ▁APPLICATION
4421
+ - ▁OCCUPY
4422
+ - ▁AUTHORITIES
4423
+ - BURN
4424
+ - ▁ASCERTAIN
4425
+ - ▁CORRIDOR
4426
+ - ▁DELICIOUS
4427
+ - ▁PRACTISE
4428
+ - ▁UNIVERSE
4429
+ - ▁SHILLING
4430
+ - ▁CONTEST
4431
+ - ▁ASHORE
4432
+ - ▁COMMIT
4433
+ - ▁ADMINISTRATION
4434
+ - ▁STUDIED
4435
+ - ▁RIGID
4436
+ - ▁ADORN
4437
+ - ▁ELSEWHERE
4438
+ - ▁INNOCENCE
4439
+ - ▁JOURNAL
4440
+ - ▁LANDSCAPE
4441
+ - ▁TELEGRAPH
4442
+ - ▁ANGRILY
4443
+ - ▁CAMPAIGN
4444
+ - ▁UNJUST
4445
+ - ▁CHALLENGE
4446
+ - ▁TORRENT
4447
+ - ▁RELATE
4448
+ - ▁ASSEMBLED
4449
+ - ▁IMPRESSED
4450
+ - ▁CANOE
4451
+ - ▁CONCLUD
4452
+ - ▁QUIXOTE
4453
+ - ▁SATISFACTORY
4454
+ - ▁NIECE
4455
+ - ▁DEAF
4456
+ - ▁RAFT
4457
+ - ▁JIMMY
4458
+ - ▁GLID
4459
+ - ▁REGULAT
4460
+ - ▁CHATTER
4461
+ - ▁GLACIER
4462
+ - ▁ENVY
4463
+ - ▁STATUE
4464
+ - ▁BOSTON
4465
+ - ▁RICHMOND
4466
+ - ▁DENIED
4467
+ - ▁FANNY
4468
+ - ▁SOLOMON
4469
+ - ▁VULGAR
4470
+ - ▁STALK
4471
+ - ▁REPLACE
4472
+ - ▁SPOON
4473
+ - ▁BASIN
4474
+ - ▁FEATURE
4475
+ - ▁CONVICT
4476
+ - ▁ARCHITECT
4477
+ - ▁ADMIRAL
4478
+ - ▁RIBBON
4479
+ - ▁PERMANENT
4480
+ - ▁APRIL
4481
+ - ▁JOLLY
4482
+ - ▁NEIGHBORHOOD
4483
+ - ▁IMPART
4484
+ - BOROUGH
4485
+ - CAMP
4486
+ - ▁HORRID
4487
+ - ▁IMMORTAL
4488
+ - ▁PRUDENCE
4489
+ - ▁SPANIARD
4490
+ - ▁SUPPOSING
4491
+ - ▁TELEPHONE
4492
+ - ▁TEMPERATURE
4493
+ - ▁PENETRATE
4494
+ - ▁OYSTER
4495
+ - ▁APPOINTMENT
4496
+ - ▁EGYPTIAN
4497
+ - ▁DWELT
4498
+ - ▁NEPHEW
4499
+ - ▁RAILROAD
4500
+ - ▁SEPTEMBER
4501
+ - ���DEVICE
4502
+ - ▁WHEAT
4503
+ - ▁GILBERT
4504
+ - ▁ELEGANT
4505
+ - ▁ADVERTISE
4506
+ - ▁RATIONAL
4507
+ - ▁TURTLE
4508
+ - ▁BROOD
4509
+ - ▁ASSEMBLY
4510
+ - ▁CULTIVATE
4511
+ - ▁EDITOR
4512
+ - ▁SPECIMEN
4513
+ - ▁UNDOUBTEDLY
4514
+ - ▁WHALE
4515
+ - ▁DROPPING
4516
+ - ▁BALLOON
4517
+ - ▁MEDICAL
4518
+ - COMB
4519
+ - ▁COMPOSITION
4520
+ - ▁FOOTSTEPS
4521
+ - ▁LAUNCELOT
4522
+ - ▁DISCOURSE
4523
+ - ▁ERRAND
4524
+ - ▁CONVERSE
4525
+ - ▁ADVANCING
4526
+ - ▁DOWNSTAIRS
4527
+ - ▁TUMULT
4528
+ - ▁CORRUPT
4529
+ - ▁SUFFICE
4530
+ - ▁ANGUISH
4531
+ - ▁SHAGGY
4532
+ - ▁RETIRE
4533
+ - ▁TIMBER
4534
+ - ▁BLAZE
4535
+ - ▁ABSTRACT
4536
+ - ▁EMBROIDER
4537
+ - ▁PHOTOGRAPH
4538
+ - ▁PROSPERITY
4539
+ - ▁TERRIBLY
4540
+ - ▁TERRITORY
4541
+ - ▁THRESHOLD
4542
+ - ▁PAVEMENT
4543
+ - ▁INJURED
4544
+ - ▁LIMP
4545
+ - ▁AGITATION
4546
+ - ▁RASCAL
4547
+ - ▁PRESUME
4548
+ - ▁OBSERVING
4549
+ - ▁OBSTACLE
4550
+ - ▁SIMPLICITY
4551
+ - ▁SLUMBER
4552
+ - ▁SUPPLIED
4553
+ - ▁COMBINATION
4554
+ - ▁DRAIN
4555
+ - ▁WILDERNESS
4556
+ - ▁BELIEVING
4557
+ - ▁VILLAIN
4558
+ - ▁RECKLESS
4559
+ - ▁INJURY
4560
+ - ▁CLAPP
4561
+ - ▁FRIDAY
4562
+ - ▁HERCULES
4563
+ - ▁KENNEDY
4564
+ - ▁SYMPTOM
4565
+ - ▁SLEDGE
4566
+ - ▁CEILING
4567
+ - ▁LEMON
4568
+ - ▁PLAGUE
4569
+ - ▁MONDAY
4570
+ - ▁CANVAS
4571
+ - ▁IMPATIENCE
4572
+ - ▁UNCOMFORTABLE
4573
+ - ▁ACCESS
4574
+ - ▁FROZEN
4575
+ - ▁SENATOR
4576
+ - ▁FRANZ
4577
+ - ▁SWIMMING
4578
+ - ▁BARRIER
4579
+ - ▁ADJUST
4580
+ - ▁COMPARISON
4581
+ - ▁PROCLAIM
4582
+ - ▁WRINKL
4583
+ - ▁OVERLOOK
4584
+ - ▁MITYA
4585
+ - ▁GUILT
4586
+ - ▁PERCEPTION
4587
+ - ▁PRECAUTION
4588
+ - ▁SPECTATOR
4589
+ - ▁SURPRISING
4590
+ - ▁DISTRACT
4591
+ - ▁DISDAIN
4592
+ - ▁BONNET
4593
+ - ▁MAGNET
4594
+ - ▁PROFESS
4595
+ - ▁CONFOUND
4596
+ - ▁NARRATIVE
4597
+ - ▁STRUCTURE
4598
+ - ▁SKETCH
4599
+ - ▁ULTIMATE
4600
+ - ▁GLOBE
4601
+ - ▁INSECT
4602
+ - FICIENCY
4603
+ - ▁ORCHARD
4604
+ - ▁AMIABLE
4605
+ - ▁DESCENT
4606
+ - ▁INDEPENDENCE
4607
+ - ▁MANUFACTURE
4608
+ - ▁SPRINKLE
4609
+ - ▁NIGHTINGALE
4610
+ - ▁CUSHION
4611
+ - ▁EMINENT
4612
+ - ▁SCOTT
4613
+ - ▁ARRAY
4614
+ - ▁COSETTE
4615
+ - ▁WAVING
4616
+ - ▁EXTRACT
4617
+ - ▁IRREGULAR
4618
+ - ▁PERSECUT
4619
+ - ▁DERIVED
4620
+ - ▁WITHDREW
4621
+ - ▁CAUTION
4622
+ - ▁SUSPICIOUS
4623
+ - ▁MEMORIES
4624
+ - ▁NOWHERE
4625
+ - ▁SUBTLE
4626
+ - ▁THOROUGH
4627
+ - Q
4628
+ - ▁APPROPRIATE
4629
+ - ▁SLAUGHTER
4630
+ - ▁YOURSELVES
4631
+ - ▁THUMB
4632
+ - ▁TWAS
4633
+ - ▁ABODE
4634
+ - ▁BIDDING
4635
+ - ▁CONSPICUOUS
4636
+ - ▁REBECCA
4637
+ - ▁SERGEANT
4638
+ - ▁APRON
4639
+ - ▁ANTICIPATE
4640
+ - ▁DISCIPLINE
4641
+ - ▁GLANCING
4642
+ - ▁PILGRIM
4643
+ - ▁SULLEN
4644
+ - ▁CONTRIBUTE
4645
+ - ▁PRAIRIE
4646
+ - ▁CARVED
4647
+ - ▁COMMERCE
4648
+ - ▁EXCLAMATION
4649
+ - ▁MUSCULAR
4650
+ - ▁NOVEMBER
4651
+ - ▁PHENOMENA
4652
+ - ▁SYMBOL
4653
+ - ▁UMBRELLA
4654
+ - ▁DIMINISH
4655
+ - ▁PARLOUR
4656
+ - ▁THREATENING
4657
+ - ▁STUMP
4658
+ - ▁EXTENSIVE
4659
+ - ▁PLEASING
4660
+ - ▁REMEMBRANCE
4661
+ - ▁COMBINED
4662
+ - ▁SHERIFF
4663
+ - ▁SHAFT
4664
+ - ▁LAURA
4665
+ - ▁INTERCOURSE
4666
+ - ▁STRICKEN
4667
+ - ▁SUPPLIES
4668
+ - ▁LANDLORD
4669
+ - ▁SHRINK
4670
+ - ▁PRICK
4671
+ - ▁CAESAR
4672
+ - ▁DRUG
4673
+ - ▁BEWILDERED
4674
+ - ▁NAUTILUS
4675
+ - ▁BRUTAL
4676
+ - ▁COMMERCIAL
4677
+ - ▁MAGGIE
4678
+ - ▁SPHERE
4679
+ - ▁VIRGIN
4680
+ - ▁BRETHREN
4681
+ - ▁DESTINY
4682
+ - ▁POLICY
4683
+ - ▁TERRIFIED
4684
+ - ▁HOUSEKEEPER
4685
+ - ▁CRAZY
4686
+ - ▁ARDENT
4687
+ - ▁DISCERN
4688
+ - ▁WRAP
4689
+ - ▁MARQUIS
4690
+ - ▁RUSSIA
4691
+ - MOUTH
4692
+ - ▁BRITAIN
4693
+ - ▁HARBOUR
4694
+ - ▁CONCERT
4695
+ - ▁DONKEY
4696
+ - ▁DAMAGE
4697
+ - ▁SLIM
4698
+ - ABOUT
4699
+ - ▁LUXURY
4700
+ - ▁MONSTROUS
4701
+ - ▁TENDENCY
4702
+ - ▁PARADISE
4703
+ - ▁CULTURE
4704
+ - ▁JULIUS
4705
+ - ▁RAOUL
4706
+ - ▁REMEDY
4707
+ - ▁DECAY
4708
+ - ▁SCOLD
4709
+ - ▁SPLIT
4710
+ - ▁ASSAULT
4711
+ - ▁DECEMBER
4712
+ - ▁MOSCOW
4713
+ - ▁EXPLORE
4714
+ - ▁TROUSERS
4715
+ - ▁WRIST
4716
+ - PIECE
4717
+ - ▁MUSKET
4718
+ - ▁VALENTINE
4719
+ - ▁TYRANT
4720
+ - ▁ABRAHAM
4721
+ - ▁MEDIUM
4722
+ - ▁ARTIFICIAL
4723
+ - ▁FACULTY
4724
+ - ▁OBLIGATION
4725
+ - ▁RESEMBLANCE
4726
+ - ▁INQUIRIES
4727
+ - ▁DETAIN
4728
+ - ▁SWARM
4729
+ - ▁PLEDGE
4730
+ - ▁ADMIRABLE
4731
+ - ▁DEFECT
4732
+ - ▁SUPERINTEND
4733
+ - ▁PATRIOT
4734
+ - ▁CLUNG
4735
+ - ▁DISMAL
4736
+ - ▁RECIT
4737
+ - ▁IGNOR
4738
+ - ▁AMELIA
4739
+ - ▁JUSTIFY
4740
+ - ▁ELEPHANT
4741
+ - ▁ESTIMATE
4742
+ - ▁KNELT
4743
+ - ▁SERVING
4744
+ - ▁WHIM
4745
+ - ▁SHRILL
4746
+ - ▁STUDIO
4747
+ - ▁TEXT
4748
+ - ▁ALEXANDER
4749
+ - ▁WROUGHT
4750
+ - ▁ABUNDANT
4751
+ - ▁SITUATED
4752
+ - ▁REGAIN
4753
+ - ▁FIERY
4754
+ - ▁SNEER
4755
+ - ▁SWEAT
4756
+ - ▁GLARE
4757
+ - ▁NIGH
4758
+ - ▁ESCORT
4759
+ - ▁INEVITABLE
4760
+ - ▁PSMITH
4761
+ - ▁RELUCTANT
4762
+ - ▁PRECEDING
4763
+ - ▁RESORT
4764
+ - ▁OUTRAGE
4765
+ - ▁AMBASSADOR
4766
+ - ▁CONSOLATION
4767
+ - ▁RECOGNITION
4768
+ - ▁REMORSE
4769
+ - ▁BEHALF
4770
+ - ▁FORMIDABLE
4771
+ - ▁GRAVITY
4772
+ - ▁DIVIDE
4773
+ - ▁CONFRONT
4774
+ - ▁GIGANTIC
4775
+ - ▁OCTOBER
4776
+ - ▁FLANK
4777
+ - ▁SLEW
4778
+ - ▁CLARA
4779
+ - ▁FILM
4780
+ - ▁BULK
4781
+ - ▁POMP
4782
+ - ▁ELEANOR
4783
+ - ▁EMPHASIS
4784
+ - ▁JAPANESE
4785
+ - ▁CAVALRY
4786
+ - ▁EXCLUSIVE
4787
+ - ▁PERFUME
4788
+ - ▁BRONZE
4789
+ - ▁FEDERAL
4790
+ - ▁LIQUID
4791
+ - ▁RUBBING
4792
+ - ▁OVEN
4793
+ - DOLPH
4794
+ - ▁CONVULS
4795
+ - ▁DEPRIVED
4796
+ - ▁RESPONSIBILITY
4797
+ - ▁SIGNIFICANT
4798
+ - ▁WAISTCOAT
4799
+ - ▁CLUSTER
4800
+ - ▁MARTHA
4801
+ - ▁REVERSE
4802
+ - ▁ATTORNEY
4803
+ - ▁DROOP
4804
+ - ▁SKILFUL
4805
+ - ▁HABITUAL
4806
+ - ▁PUMP
4807
+ - ▁INTERVEN
4808
+ - ▁OWL
4809
+ - ▁CONJECTURE
4810
+ - ▁FANTASTIC
4811
+ - ▁RESPONSIBLE
4812
+ - ▁DESTINED
4813
+ - ▁DOCUMENT
4814
+ - ▁THEREUPON
4815
+ - ▁GODDESS
4816
+ - ▁PACIFIC
4817
+ - ▁WARRANT
4818
+ - ▁COSTUME
4819
+ - ▁BRIDLE
4820
+ - ▁CALIFORNIA
4821
+ - ▁DEMOCRATIC
4822
+ - ▁EUSTACE
4823
+ - ▁SQUIRREL
4824
+ - ▁UNCOMMON
4825
+ - ▁MARVELLOUS
4826
+ - ▁PLOUGH
4827
+ - ▁TRAGEDY
4828
+ - ▁VAULT
4829
+ - ▁HESITATE
4830
+ - ▁REFRAIN
4831
+ - ▁ADMIRING
4832
+ - ▁CORPORAL
4833
+ - ▁ENTITLED
4834
+ - ▁SHREWD
4835
+ - ▁SQUEEZ
4836
+ - ▁ACCURATE
4837
+ - ▁TEMPEST
4838
+ - ▁MONUMENT
4839
+ - ▁SIEGE
4840
+ - ▁CHINESE
4841
+ - ▁RAVEN
4842
+ - ▁LOUNG
4843
+ - ▁ASSASSIN
4844
+ - ▁INFLICT
4845
+ - ▁AGITATED
4846
+ - ▁DESIRABLE
4847
+ - ▁EARLIEST
4848
+ - ▁LAUNCH
4849
+ - ▁PILOT
4850
+ - ▁PULSE
4851
+ - ▁MUTE
4852
+ - LEIGH
4853
+ - ▁LIQUOR
4854
+ - ▁SCARECROW
4855
+ - ▁SKULL
4856
+ - ▁DESOLATE
4857
+ - ▁SUBLIME
4858
+ - ▁SERENE
4859
+ - ▁RECESS
4860
+ - ▁WAKING
4861
+ - ▁CHARLOTTE
4862
+ - ▁CIRCULAR
4863
+ - ���INJUSTICE
4864
+ - ▁PINOCCHIO
4865
+ - ▁PRISCILLA
4866
+ - ▁THYSELF
4867
+ - ▁OCCURRENCE
4868
+ - ▁CASUAL
4869
+ - ▁FRANTIC
4870
+ - ▁LEGEND
4871
+ - ▁FERTIL
4872
+ - ▁BACKGROUND
4873
+ - ▁DELICACY
4874
+ - ▁ESTRALLA
4875
+ - ▁MANUSCRIPT
4876
+ - ▁RESPONSE
4877
+ - ▁UNIVERSITY
4878
+ - ▁WOLVES
4879
+ - ▁SCANDAL
4880
+ - ▁STUMBLE
4881
+ - ▁HOARSE
4882
+ - ▁BODILY
4883
+ - ▁CONVENT
4884
+ - ▁EXAMINING
4885
+ - ▁INCAPABLE
4886
+ - ▁PERCEIVING
4887
+ - ▁PHILADELPHIA
4888
+ - ▁SUBSEQUENT
4889
+ - ▁THIEVES
4890
+ - ▁ACCUMULAT
4891
+ - ▁DAMSEL
4892
+ - ▁SCOTCH
4893
+ - ▁UNDERNEATH
4894
+ - ▁NOBILITY
4895
+ - ▁SMASH
4896
+ - ▁REVOLT
4897
+ - ▁ENGAGE
4898
+ - ▁CATHEDRAL
4899
+ - ▁CHAMPION
4900
+ - ▁DESPATCH
4901
+ - ▁ETERNITY
4902
+ - ▁JANUARY
4903
+ - ▁PLEADED
4904
+ - ▁PROBABILITY
4905
+ - ▁JIMMIE
4906
+ - ▁PARALLEL
4907
+ - ▁FISHERMAN
4908
+ - ▁JERRY
4909
+ - ▁SWORE
4910
+ - ▁DRAUGHT
4911
+ - ▁OPPONENT
4912
+ - ▁PRIMITIVE
4913
+ - ▁SIGNIFICANCE
4914
+ - ▁SUBSTANTIAL
4915
+ - ▁AMAZED
4916
+ - ▁DUNBAR
4917
+ - ▁COMMEND
4918
+ - ▁CONTEMPLATE
4919
+ - ▁TESTIMONY
4920
+ - ▁IMPERIAL
4921
+ - ▁ADAPT
4922
+ - ▁JUICE
4923
+ - ▁CALAMIT
4924
+ - CULAR
4925
+ - ▁CHATEAU
4926
+ - ▁PHOENIX
4927
+ - ▁PRUDENT
4928
+ - ▁SOLUTION
4929
+ - ▁VILLEFORT
4930
+ - ▁REACTION
4931
+ - ▁RELAX
4932
+ - ▁YU
4933
+ - ▁PROHIBIT
4934
+ - ▁DISTRUST
4935
+ - ▁PLUNDER
4936
+ - ▁WELFARE
4937
+ - ▁NAVIGAT
4938
+ - ▁PARLOR
4939
+ - ▁LAZY
4940
+ - ▁DETACH
4941
+ - OMETER
4942
+ - ▁PRIV
4943
+ - ▁DISCOURAGE
4944
+ - ▁OBSTINATE
4945
+ - ▁REJOICING
4946
+ - ▁SERMON
4947
+ - ▁VEHICLE
4948
+ - ▁FANCIES
4949
+ - ▁ENLIGHTEN
4950
+ - ▁ACUTE
4951
+ - ▁ILLUSION
4952
+ - ▁ANTHEA
4953
+ - ▁MARTIAN
4954
+ - ▁EXCITE
4955
+ - ▁GENEROSITY
4956
+ - OLOGIST
4957
+ - ▁AMAZING
4958
+ - ▁UNWORTHY
4959
+ - ▁INTERNAL
4960
+ - ▁INCENSE
4961
+ - ▁VIBRAT
4962
+ - ▁ADHERE
4963
+ - ROACH
4964
+ - ▁FEBRUARY
4965
+ - ▁MEXICAN
4966
+ - ▁POTATOES
4967
+ - ▁INCESSANT
4968
+ - ▁INTERPOSED
4969
+ - ▁PARCEL
4970
+ - ▁VEXED
4971
+ - ▁PROMOTE
4972
+ - MIDST
4973
+ - ▁ARISTOCRAT
4974
+ - ▁CYRIL
4975
+ - ▁EMBARK
4976
+ - ▁ABUNDANCE
4977
+ - ▁LITERALLY
4978
+ - ▁SURGEON
4979
+ - ▁TERRACE
4980
+ - ▁ATLANTIC
4981
+ - ▁MARTYR
4982
+ - ▁SPECK
4983
+ - ▁SENATE
4984
+ - ▁LOAF
4985
+ - ▁ADMINISTER
4986
+ - ▁APPREHEND
4987
+ - ▁SUBDUED
4988
+ - ▁TEMPORARY
4989
+ - ▁DOMINION
4990
+ - ▁ELABORATE
4991
+ - ▁DIGNIFIED
4992
+ - ▁ELIZA
4993
+ - ▁SPLASH
4994
+ - ▁CONSEIL
4995
+ - ▁DEXTER
4996
+ - ▁UNSEEN
4997
+ - ▁TRAGIC
4998
+ - VOCATION
4999
+ - ▁GRATIFY
5000
+ - ▁BACHELOR
5001
+ - ▁DEFENSE
5002
+ - ▁EXCURSION
5003
+ - ▁FACULTIES
5004
+ - ▁PROPRIETOR
5005
+ - ▁SYMPATHETIC
5006
+ - ▁UNNECESSARY
5007
+ - ▁RADIANT
5008
+ - ▁VACANT
5009
+ - ▁OUNCE
5010
+ - ▁SCREW
5011
+ - ▁PHENOMENON
5012
+ - ▁PROMINENT
5013
+ - ▁WORRIED
5014
+ - ▁STUDIES
5015
+ - ▁CLIMATE
5016
+ - ▁KEITH
5017
+ - ▁ARAMIS
5018
+ - ▁BLISS
5019
+ - ▁CONTINUAL
5020
+ - ▁SURPASS
5021
+ - ▁HEBREW
5022
+ - ▁IDENTITY
5023
+ - ▁PROVOKE
5024
+ - ▁TEMPERAMENT
5025
+ - ▁CHARIOT
5026
+ - ▁HARBOR
5027
+ - ▁NINTH
5028
+ - ▁PRIOR
5029
+ - ▁DESIROUS
5030
+ - ▁JERUSALEM
5031
+ - ▁UNDERTAKING
5032
+ - ▁EDISON
5033
+ - ▁MIRTH
5034
+ - ▁SCOUT
5035
+ - ▁APPARATUS
5036
+ - ▁ILLUSTRATION
5037
+ - ▁INTELLIGIBLE
5038
+ - ▁INVARIABLY
5039
+ - ▁PIERCED
5040
+ - ▁REVIEW
5041
+ - ▁FLICKER
5042
+ - ▁HAZARD
5043
+ - ▁REVELATION
5044
+ - ▁DIXON
5045
+ - ▁EXCITING
5046
+ - ▁GOSPEL
5047
+ - ▁CONSTANCE
5048
+ - ▁OVERTAKE
5049
+ - ▁GUINEA
5050
+ - ▁ALADDIN
5051
+ - ▁CHICAGO
5052
+ - ▁TULLIVER
5053
+ - ▁HAMILTON
5054
+ - ▁GARRISON
5055
+ - ▁DISCIPLE
5056
+ - ▁INTENSITY
5057
+ - ▁TRAITOR
5058
+ - ▁CHANCELLOR
5059
+ - ▁PROVERB
5060
+ - ▁DAGGER
5061
+ - ▁FORESEE
5062
+ - ▁CONFIDE
5063
+ - ▁GLIMMER
5064
+ - ▁CHAUVELIN
5065
+ - ▁ILLUSTRATE
5066
+ - ▁VOLUNTEER
5067
+ - ▁JUNGLE
5068
+ - ▁STREAK
5069
+ - ▁SUNRISE
5070
+ - ▁DISSOLV
5071
+ - ▁QUEST
5072
+ - ▁AWHILE
5073
+ - ▁FELICITY
5074
+ - ▁LEGISLATURE
5075
+ - ▁LEONORA
5076
+ - ▁MAGAZINE
5077
+ - ▁PITIFUL
5078
+ - ▁COLONY
5079
+ - ▁SHAWL
5080
+ - ▁ARRIVING
5081
+ - ▁FUNDAMENTAL
5082
+ - ▁CARPENTER
5083
+ - ▁OVERFLOW
5084
+ - ▁EXPAND
5085
+ - ▁HARVEST
5086
+ - ▁FEMININE
5087
+ - ▁INNUMERABLE
5088
+ - ▁SCRAMBLE
5089
+ - ▁TWENTIETH
5090
+ - ▁TRIFLING
5091
+ - ▁GHASTL
5092
+ - ▁CONQUEST
5093
+ - ▁DANIEL
5094
+ - ▁FACILIT
5095
+ - ▁FORSAKE
5096
+ - ▁BEHAVIOUR
5097
+ - ▁GORGEOUS
5098
+ - ▁PRODUCING
5099
+ - ▁HAPPIER
5100
+ - ▁PROMISING
5101
+ - ▁RAINBOW
5102
+ - ▁INSTINCTIVELY
5103
+ - ▁DECREE
5104
+ - ▁EYEBROWS
5105
+ - ▁IRRESISTIBLE
5106
+ - ▁PHARAOH
5107
+ - ▁SCROOGE
5108
+ - ▁UNNATURAL
5109
+ - ▁CRUMBS
5110
+ - ▁REFINED
5111
+ - ▁DREARY
5112
+ - ▁TRENCH
5113
+ - ▁CONVINCE
5114
+ - ▁FRINGE
5115
+ - ▁EXTREMITY
5116
+ - ▁INTIMACY
5117
+ - ▁SCOUNDREL
5118
+ - ▁SUFFRAGE
5119
+ - ▁UNEASINESS
5120
+ - ▁BARRICADE
5121
+ - ▁CIRCULAT
5122
+ - ▁SAMUEL
5123
+ - ▁BRUCE
5124
+ - ▁DARCY
5125
+ - <sos/eos>
5126
+ init: xavier_uniform
5127
+ input_size: null
5128
+ ctc_conf:
5129
+ dropout_rate: 0.0
5130
+ ctc_type: builtin
5131
+ reduce: true
5132
+ ignore_nan_grad: null
5133
+ zero_infinity: true
5134
+ brctc_risk_strategy: exp
5135
+ brctc_group_strategy: end
5136
+ brctc_risk_factor: 0.0
5137
+ joint_net_conf: null
5138
+ use_preprocessor: true
5139
+ use_lang_prompt: false
5140
+ use_nlp_prompt: false
5141
+ token_type: bpe
5142
+ bpemodel: data/en_token_list/bpe_unigram5000/bpe.model
5143
+ non_linguistic_symbols: null
5144
+ cleaner: null
5145
+ g2p: null
5146
+ speech_volume_normalize: null
5147
+ rir_scp: null
5148
+ rir_apply_prob: 1.0
5149
+ noise_scp: null
5150
+ noise_apply_prob: 1.0
5151
+ noise_db_range: '13_15'
5152
+ short_noise_thres: 0.5
5153
+ aux_ctc_tasks: []
5154
+ frontend: default
5155
+ frontend_conf:
5156
+ fs: 16k
5157
+ specaug: specaug
5158
+ specaug_conf:
5159
+ apply_time_warp: true
5160
+ time_warp_window: 5
5161
+ time_warp_mode: bicubic
5162
+ apply_freq_mask: true
5163
+ freq_mask_width_range:
5164
+ - 0
5165
+ - 30
5166
+ num_freq_mask: 2
5167
+ apply_time_mask: true
5168
+ time_mask_width_range:
5169
+ - 0
5170
+ - 40
5171
+ num_time_mask: 2
5172
+ normalize: global_mvn
5173
+ normalize_conf:
5174
+ stats_file: exp/asr_stats_raw_en_bpe5000_sp/train/feats_stats.npz
5175
+ model: espnet
5176
+ model_conf:
5177
+ ctc_weight: 0.3
5178
+ lsm_weight: 0.1
5179
+ length_normalized_loss: false
5180
+ preencoder: null
5181
+ preencoder_conf: {}
5182
+ encoder: q_transformer
5183
+ encoder_conf:
5184
+ output_size: 512
5185
+ attention_heads: 8
5186
+ attention_layer_type: HierDecayv2
5187
+ linear_units: 2048
5188
+ num_blocks: 18
5189
+ dropout_rate: 0.1
5190
+ positional_dropout_rate: 0.1
5191
+ attention_dropout_rate: 0.1
5192
+ input_layer: conv2d6
5193
+ normalize_before: true
5194
+ postencoder: null
5195
+ postencoder_conf: {}
5196
+ decoder: transformer
5197
+ decoder_conf:
5198
+ attention_heads: 8
5199
+ linear_units: 2048
5200
+ num_blocks: 6
5201
+ dropout_rate: 0.1
5202
+ positional_dropout_rate: 0.1
5203
+ self_attention_dropout_rate: 0.1
5204
+ src_attention_dropout_rate: 0.1
5205
+ preprocessor: default
5206
+ preprocessor_conf: {}
5207
+ required:
5208
+ - output_dir
5209
+ - token_list
5210
+ version: '202402'
5211
+ distributed: true
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/acc.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/backward_time.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/cer.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/cer_ctc.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/clip.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/forward_time.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/gpu_max_cached_mem_GB.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/grad_norm.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/iter_time.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/loss.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/loss_att.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/loss_ctc.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/loss_scale.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/optim0_lr0.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/optim_step_time.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/train_time.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/images/wer.png ADDED
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/latest.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0dd0daaefe2355e6b0151b39c8f53b350fc4f531973a9cff2cb5dfb6fffeaddf
3
+ size 398012507
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/run.sh ADDED
@@ -0,0 +1 @@
 
 
1
+ ./asr.sh --skip_data_prep true --stage 11 --lang en --ngpu 4 --use_lm false --nbpe 5000 --max_wav_duration 30 --asr_tag transformer_HierDecayv2_woBias_XavierInit_Qv7 --speed_perturb_factors '0.9 1.0 1.1' --asr_config conf/tuning/SNN/train_asr_Q_transformer3_HierDecayv2.yaml --lm_config conf/tuning/train_lm_transformer2.yaml --inference_config conf/decode_asr.yaml --train_set train_960 --valid_set dev --test_sets 'test_clean test_other dev_clean dev_other' --lm_train_text 'data/train_960/text data/local/other_text/text' --bpe_train_text data/train_960/text --stage 11 --stage 11 --stage 11 "$@"; exit $?
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/train/events.out.tfevents.1720237326.bmi2.3524061.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3e389810df809c7f2dae4fa896397bb161c71f7d0a80d0f562b62cc88f0291f0
3
+ size 140505218
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/train/events.out.tfevents.1721133711.bmi2.1781101.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3c7227f05b7abc16967fc1a41727ea41d048a5d8cae4eec3ab31c9431854db80
3
+ size 723
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/train/events.out.tfevents.1721134148.bmi2.1856035.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2f12dae579bb931487ce29814644f11cbc964734e8f3cebf67052bc1c3dd8557
3
+ size 352256376
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/valid/events.out.tfevents.1720237326.bmi2.3524061.1 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7df5e3f820a7014cd8b7729120f0335c00b06ff2ca558dd210df3b42c229c556
3
+ size 27601
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/valid/events.out.tfevents.1721133711.bmi2.1781101.1 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d01cc65e5c3d9a8578da8dc9cca430c31d30ab82661c01f2986e23e0db71f6b1
3
+ size 88
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/tensorboard/valid/events.out.tfevents.1721134148.bmi2.1856035.1 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6f4a8940d85c376e7ea7afcb132a358fc632019cb8d9ae4f3dc960e92d1fe152
3
+ size 10267
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/train.1.log ADDED
The diff for this file is too large to render. See raw diff
 
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/train.2.log ADDED
The diff for this file is too large to render. See raw diff
 
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/train.log ADDED
The diff for this file is too large to render. See raw diff
 
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/valid.acc.ave.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1454a34a2d05ee8c95bfe0335072731efe31608febed0aad6b2b80e633b9bc0d
3
+ size 398011411
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/valid.acc.ave_10best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1454a34a2d05ee8c95bfe0335072731efe31608febed0aad6b2b80e633b9bc0d
3
+ size 398011411
checkpoints/asr_transformer_HierDecayv2_woBias_XavierInit_Qv7/valid.acc.best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0dd0daaefe2355e6b0151b39c8f53b350fc4f531973a9cff2cb5dfb6fffeaddf
3
+ size 398012507
src/Spike_driven/Q_transformer_encoder.py ADDED
@@ -0,0 +1,397 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2019 Shigeki Karita
2
+ # Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
3
+
4
+ """Transformer encoder definition."""
5
+
6
+ from typing import List, Optional, Tuple
7
+
8
+ import torch
9
+ import torch.nn as nn
10
+ from typeguard import typechecked
11
+
12
+ from espnet2.asr.ctc import CTC
13
+ from espnet2.asr.encoder.abs_encoder import AbsEncoder
14
+ from espnet.nets.pytorch_backend.nets_utils import make_pad_mask
15
+ from espnet2.asr.encoder.Spike_driven.Spike_driven_modules.Q_attention import *
16
+
17
+ from espnet.nets.pytorch_backend.transformer.embedding import PositionalEncoding
18
+ from espnet.nets.pytorch_backend.transformer.layer_norm import LayerNorm
19
+ # from espnet2.asr_transducer.normalization import RMSNorm
20
+ from espnet.nets.pytorch_backend.transformer.multi_layer_conv import (
21
+ Conv1dLinear,
22
+ MultiLayeredConv1d,
23
+ )
24
+ from espnet2.asr.encoder.Spike_driven.Spike_driven_modules.Q_positionwise_feed_forward import Q_PositionwiseFeedForward, Q_GLU
25
+ from espnet.nets.pytorch_backend.transformer.repeat import repeat
26
+ from espnet.nets.pytorch_backend.transformer.subsampling import (
27
+ Conv1dSubsampling2,
28
+ Conv2dSubsampling,
29
+ Conv2dSubsampling1,
30
+ Conv2dSubsampling2,
31
+ Conv2dSubsampling6,
32
+ Conv2dSubsampling8,
33
+ TooShortUttError,
34
+ check_short_utt,
35
+ )
36
+ from espnet2.asr.encoder.Spike_driven.Q_trick import MultiSpike
37
+
38
+ class Q_Transformer_EncoderLayer(nn.Module):
39
+ """Encoder layer module.
40
+
41
+ Args:
42
+ size (int): Input dimension.
43
+ self_attn (torch.nn.Module): Self-attention module instance.
44
+ `MultiHeadedAttention` or `RelPositionMultiHeadedAttention` instance
45
+ can be used as the argument.
46
+ feed_forward (torch.nn.Module): Feed-forward module instance.
47
+ `PositionwiseFeedForward`, `MultiLayeredConv1d`, or `Conv1dLinear` instance
48
+ can be used as the argument.
49
+ dropout_rate (float): Dropout rate.
50
+ normalize_before (bool): Whether to use layer_norm before the first block.
51
+ concat_after (bool): Whether to concat attention layer's input and output.
52
+ if True, additional linear will be applied.
53
+ i.e. x -> x + linear(concat(x, att(x)))
54
+ if False, no additional linear will be applied. i.e. x -> x + att(x)
55
+ stochastic_depth_rate (float): Proability to skip this layer.
56
+ During training, the layer may skip residual computation and return input
57
+ as-is with given probability.
58
+ """
59
+
60
+ def __init__(
61
+ self,
62
+ size,
63
+ self_attn,
64
+ feed_forward,
65
+ dropout_rate,
66
+ normalize_before=True,
67
+ concat_after=False,
68
+ stochastic_depth_rate=0.0,
69
+ ):
70
+ """Construct an EncoderLayer object."""
71
+ super(Q_Transformer_EncoderLayer, self).__init__()
72
+ self.self_attn = self_attn
73
+ self.feed_forward = feed_forward
74
+ self.norm1 = LayerNorm(size)
75
+ self.norm2 = LayerNorm(size)
76
+ self.dropout = nn.Dropout(dropout_rate)
77
+ self.size = size
78
+ self.normalize_before = normalize_before
79
+ self.concat_after = concat_after
80
+ if self.concat_after:
81
+ self.concat_linear = nn.Linear(size + size, size)
82
+ self.stochastic_depth_rate = stochastic_depth_rate
83
+ self.ATT_sn = MultiSpike(size)
84
+ self.FFN_sn = MultiSpike(size)
85
+
86
+ def forward(self, x, mask, iiter=None, cache=None):
87
+ """Compute encoded features.
88
+
89
+ Args:
90
+ x_input (torch.Tensor): Input tensor (#batch, time, size).
91
+ mask (torch.Tensor): Mask tensor for the input (#batch, 1, time).
92
+ cache (torch.Tensor): Cache tensor of the input (#batch, time - 1, size).
93
+
94
+ Returns:
95
+ torch.Tensor: Output tensor (#batch, time, size).
96
+ torch.Tensor: Mask tensor (#batch, 1, time).
97
+
98
+ """
99
+ skip_layer = False
100
+ # with stochastic depth, residual connection `x + f(x)` becomes
101
+ # `x <- x + 1 / (1 - p) * f(x)` at training time.
102
+ stoch_layer_coeff = 1.0
103
+ if self.training and self.stochastic_depth_rate > 0:
104
+ skip_layer = torch.rand(1).item() < self.stochastic_depth_rate
105
+ stoch_layer_coeff = 1.0 / (1 - self.stochastic_depth_rate)
106
+
107
+ if skip_layer:
108
+ if cache is not None:
109
+ x = torch.cat([cache, x], dim=1)
110
+ return x, mask
111
+
112
+ residual = x
113
+ if self.normalize_before:
114
+ x = self.norm1(x)
115
+
116
+ if cache is None:
117
+ x_q = x
118
+ else:
119
+ assert cache.shape == (x.shape[0], x.shape[1] - 1, self.size)
120
+ x_q = x[:, -1:, :]
121
+ residual = residual[:, -1:, :]
122
+ mask = None if mask is None else mask[:, -1:, :]
123
+
124
+ x_q = self.ATT_sn(x_q, iiter)
125
+ x = self.ATT_sn(x, iiter)
126
+ if self.concat_after:
127
+ x_concat = torch.cat((x, self.self_attn(x_q, x, x, mask, iiter)), dim=-1)
128
+ x = residual + stoch_layer_coeff * self.concat_linear(x_concat)
129
+ else:
130
+ x = residual + stoch_layer_coeff * self.dropout(
131
+ self.self_attn(x_q, x, x, mask, iiter)
132
+ )
133
+ if not self.normalize_before:
134
+ x = self.norm1(x)
135
+
136
+ residual = x
137
+ x = self.FFN_sn(x, iiter)
138
+ if self.normalize_before:
139
+ x = self.norm2(x)
140
+ x = residual + stoch_layer_coeff * self.dropout(self.feed_forward(x, iiter))
141
+ if not self.normalize_before:
142
+ x = self.norm2(x)
143
+
144
+ if cache is not None:
145
+ x = torch.cat([cache, x], dim=1)
146
+
147
+ return x, mask
148
+
149
+
150
+ class Q_TransformerEncoder(AbsEncoder):
151
+ """Transformer encoder module.
152
+
153
+ Args:
154
+ input_size: input dim
155
+ output_size: dimension of attention
156
+ attention_heads: the number of heads of multi head attention
157
+ linear_units: the number of units of position-wise feed forward
158
+ num_blocks: the number of decoder blocks
159
+ dropout_rate: dropout rate
160
+ attention_dropout_rate: dropout rate in attention
161
+ positional_dropout_rate: dropout rate after adding positional encoding
162
+ input_layer: input layer type
163
+ pos_enc_class: PositionalEncoding or ScaledPositionalEncoding
164
+ normalize_before: whether to use layer_norm before the first block
165
+ concat_after: whether to concat attention layer's input and output
166
+ if True, additional linear will be applied.
167
+ i.e. x -> x + linear(concat(x, att(x)))
168
+ if False, no additional linear will be applied.
169
+ i.e. x -> x + att(x)
170
+ positionwise_layer_type: linear of conv1d
171
+ positionwise_conv_kernel_size: kernel size of positionwise conv1d layer
172
+ padding_idx: padding_idx for input_layer=embed
173
+ """
174
+
175
+ @typechecked
176
+ def __init__(
177
+ self,
178
+ input_size: int,
179
+ output_size: int = 256,
180
+ attention_heads: int = 4,
181
+ attention_layer_type: str = "selfattn",
182
+ linear_units: int = 2048,
183
+ num_blocks: int = 6,
184
+ dropout_rate: float = 0.1,
185
+ positional_dropout_rate: float = 0.1,
186
+ attention_dropout_rate: float = 0.0,
187
+ input_layer: Optional[str] = "conv2d",
188
+ pos_enc_class=PositionalEncoding,
189
+ normalize_before: bool = True,
190
+ concat_after: bool = False,
191
+ positionwise_layer_type: str = "FFN",
192
+ padding_idx: int = -1,
193
+ interctc_layer_idx: List[int] = [],
194
+ interctc_use_conditioning: bool = False,
195
+ layer_drop_rate: float = 0.0,
196
+ ):
197
+ super().__init__()
198
+ self._output_size = output_size
199
+
200
+ if input_layer == "linear":
201
+ self.embed = torch.nn.Sequential(
202
+ torch.nn.Linear(input_size, output_size),
203
+ torch.nn.LayerNorm(output_size),
204
+ torch.nn.Dropout(dropout_rate),
205
+ torch.nn.ReLU(),
206
+ pos_enc_class(output_size, positional_dropout_rate),
207
+ )
208
+ elif input_layer == "conv1d2":
209
+ self.embed = Conv1dSubsampling2(
210
+ input_size,
211
+ output_size,
212
+ dropout_rate,
213
+ pos_enc_class(output_size, positional_dropout_rate),
214
+ )
215
+ elif input_layer == "conv2d":
216
+ self.embed = Conv2dSubsampling(input_size, output_size, dropout_rate)
217
+ elif input_layer == "conv2d1":
218
+ self.embed = Conv2dSubsampling1(input_size, output_size, dropout_rate)
219
+ elif input_layer == "conv2d2":
220
+ self.embed = Conv2dSubsampling2(input_size, output_size, dropout_rate)
221
+ elif input_layer == "conv2d6":
222
+ self.embed = Conv2dSubsampling6(input_size, output_size, dropout_rate)
223
+ elif input_layer == "conv2d8":
224
+ self.embed = Conv2dSubsampling8(input_size, output_size, dropout_rate)
225
+ elif input_layer == "embed":
226
+ self.embed = torch.nn.Sequential(
227
+ torch.nn.Embedding(input_size, output_size, padding_idx=padding_idx),
228
+ pos_enc_class(output_size, positional_dropout_rate),
229
+ )
230
+ elif input_layer is None:
231
+ if input_size == output_size:
232
+ self.embed = None
233
+ else:
234
+ self.embed = torch.nn.Linear(input_size, output_size)
235
+ else:
236
+ raise ValueError("unknown input_layer: " + input_layer)
237
+ self.normalize_before = normalize_before
238
+ if attention_layer_type == "selfattn":
239
+ encoder_selfattn_layer = Q_MultiHeadedAttention
240
+ encoder_selfattn_layer_args = (
241
+ attention_heads,
242
+ output_size,
243
+ attention_dropout_rate
244
+ )
245
+ elif attention_layer_type == "selfattn_woSoftMax":
246
+ encoder_selfattn_layer = Q_MultiHeadedAttention_woSoftMax
247
+ encoder_selfattn_layer_args = (
248
+ attention_heads,
249
+ output_size,
250
+ attention_dropout_rate
251
+ )
252
+ elif attention_layer_type == "HierDecayv2":
253
+ encoder_selfattn_layer = Q_MultiHeadedAttention_HierDecay
254
+ encoder_selfattn_layer_args = (
255
+ attention_heads,
256
+ output_size,
257
+ attention_dropout_rate,
258
+ )
259
+ elif attention_layer_type == "HierDecay_woSoftMax":
260
+ encoder_selfattn_layer = Q_MultiHeadedAttention_HierDecay_woSoftMax
261
+ encoder_selfattn_layer_args = (
262
+ attention_heads,
263
+ output_size,
264
+ attention_dropout_rate,
265
+ )
266
+
267
+ else:
268
+ raise ValueError("unknown encoder_attn_layer: " + attention_layer_type)
269
+
270
+ positionwise_layer = Q_PositionwiseFeedForward
271
+ positionwise_layer_args = (
272
+ output_size,
273
+ linear_units,
274
+ dropout_rate,
275
+ )
276
+
277
+
278
+ if "HierDecay" in attention_layer_type:
279
+ self.encoders = repeat(
280
+ num_blocks,
281
+ lambda lnum: Q_Transformer_EncoderLayer(
282
+ output_size,
283
+ encoder_selfattn_layer(*encoder_selfattn_layer_args, lnum),
284
+ positionwise_layer(*positionwise_layer_args),
285
+ dropout_rate,
286
+ normalize_before,
287
+ concat_after,
288
+ ),
289
+ layer_drop_rate,
290
+ )
291
+ else:
292
+ self.encoders = repeat(
293
+ num_blocks,
294
+ lambda lnum: Q_Transformer_EncoderLayer(
295
+ output_size,
296
+ encoder_selfattn_layer(*encoder_selfattn_layer_args),
297
+ positionwise_layer(*positionwise_layer_args),
298
+ dropout_rate,
299
+ normalize_before,
300
+ concat_after,
301
+ ),
302
+ layer_drop_rate,
303
+ )
304
+
305
+ if self.normalize_before:
306
+ self.after_norm = LayerNorm(output_size)
307
+
308
+ self.interctc_layer_idx = interctc_layer_idx
309
+ if len(interctc_layer_idx) > 0:
310
+ assert 0 < min(interctc_layer_idx) and max(interctc_layer_idx) < num_blocks
311
+ self.interctc_use_conditioning = interctc_use_conditioning
312
+ self.conditioning_layer = None
313
+
314
+ def output_size(self) -> int:
315
+ return self._output_size
316
+
317
+ def forward(
318
+ self,
319
+ xs_pad: torch.Tensor,
320
+ ilens: torch.Tensor,
321
+ iiter: int = 0,
322
+ prev_states: torch.Tensor = None,
323
+ ctc: CTC = None,
324
+ return_all_hs: bool = False,
325
+ ) -> Tuple[torch.Tensor, torch.Tensor, Optional[torch.Tensor]]:
326
+ """Embed positions in tensor.
327
+
328
+ Args:
329
+ xs_pad: input tensor (B, L, D)
330
+ ilens: input length (B)
331
+ prev_states: Not to be used now.
332
+ ctc (CTC): ctc module for intermediate CTC loss
333
+ return_all_hs (bool): whether to return all hidden states
334
+
335
+ Returns:
336
+ position embedded tensor and mask
337
+ """
338
+ masks = (~make_pad_mask(ilens)[:, None, :]).to(xs_pad.device)
339
+ # print('iiter:{}'.format(iiter))
340
+ if self.embed is None:
341
+ xs_pad = xs_pad
342
+ elif (
343
+ isinstance(self.embed, Conv2dSubsampling)
344
+ or isinstance(self.embed, Conv1dSubsampling2)
345
+ or isinstance(self.embed, Conv2dSubsampling1)
346
+ or isinstance(self.embed, Conv2dSubsampling2)
347
+ or isinstance(self.embed, Conv2dSubsampling6)
348
+ or isinstance(self.embed, Conv2dSubsampling8)
349
+ ):
350
+ short_status, limit_size = check_short_utt(self.embed, xs_pad.size(1))
351
+ if short_status:
352
+ raise TooShortUttError(
353
+ f"has {xs_pad.size(1)} frames and is too short for subsampling "
354
+ + f"(it needs more than {limit_size} frames), return empty results",
355
+ xs_pad.size(1),
356
+ limit_size,
357
+ )
358
+ xs_pad, masks = self.embed(xs_pad, masks)
359
+ else:
360
+ xs_pad = self.embed(xs_pad)
361
+ intermediate_outs = []
362
+ if len(self.interctc_layer_idx) == 0:
363
+ for layer_idx, encoder_layer in enumerate(self.encoders):
364
+ xs_pad, masks = encoder_layer(xs_pad, masks, iiter)
365
+ if return_all_hs:
366
+ if isinstance(xs_pad, tuple):
367
+ intermediate_outs.append(xs_pad[0])
368
+ else:
369
+ intermediate_outs.append(xs_pad)
370
+
371
+
372
+ else:
373
+ for layer_idx, encoder_layer in enumerate(self.encoders):
374
+ xs_pad, masks = encoder_layer(xs_pad, masks, iiter)
375
+
376
+ if layer_idx + 1 in self.interctc_layer_idx:
377
+ encoder_out = xs_pad
378
+
379
+ # intermediate outputs are also normalized
380
+ if self.normalize_before:
381
+ encoder_out = self.after_norm(encoder_out)
382
+
383
+ intermediate_outs.append((layer_idx + 1, encoder_out))
384
+
385
+ if self.interctc_use_conditioning:
386
+ ctc_out = ctc.softmax(encoder_out)
387
+ xs_pad = xs_pad + self.conditioning_layer(ctc_out)
388
+
389
+ if self.normalize_before:
390
+ xs_pad = self.after_norm(xs_pad)
391
+
392
+ olens = masks.squeeze(1).sum(1)
393
+ # from IPython import embed; embed()
394
+ if len(intermediate_outs) > 0:
395
+ return (xs_pad, intermediate_outs), olens, None
396
+
397
+ return xs_pad, olens, None
src/Spike_driven/Q_trick.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+
4
+ class quant(torch.autograd.Function):
5
+ @staticmethod
6
+ def forward(ctx, input, T):
7
+ ctx.save_for_backward(input)
8
+ ctx.T = T
9
+ return torch.round(torch.clamp(input, min=0, max=T))
10
+
11
+ @staticmethod
12
+ def backward(ctx, grad_output):
13
+ input, = ctx.saved_tensors
14
+ grad_input = grad_output.clone()
15
+ grad_input[input < 0] = 0
16
+ grad_input[input > ctx.T] = 0
17
+ return grad_input, None
18
+
19
+
20
+
21
+ class MultiSpike(torch.nn.Module):
22
+ def __init__(self, dim: int, T=4):
23
+ super().__init__()
24
+ self.T = T
25
+ self.spike = quant()
26
+ self.momentum = 0.1
27
+ self.eps = 1e-5
28
+ self.register_buffer("running_stats", torch.zeros(dim))
29
+
30
+ def __repr__(self):
31
+ return f"MultiSpike(T={self.T})"
32
+
33
+ def forward(self, x, iiter=0):
34
+ #v7
35
+ # print('iiter:{}'.format(iiter))
36
+ if self.training:
37
+ Stats = x.max(dim=0).values.max(dim=0).values
38
+ # Stats = x.abs().mean(dim=[0,1])
39
+ with torch.no_grad():
40
+ self.running_stats = self.momentum * Stats + (1-self.momentum) * self.running_stats
41
+ else:
42
+ Stats = self.running_stats
43
+
44
+ scale = self.T / (Stats[None, None, :] + self.eps)
45
+
46
+ return self.spike.apply(scale* x, self.T) / scale
src/Spike_driven/Spike_driven_modules/Q_attention.py ADDED
@@ -0,0 +1,455 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # Copyright 2019 Shigeki Karita
5
+ # Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
6
+
7
+ """Multi-Head Attention layer definition."""
8
+
9
+ import math
10
+ import numpy
11
+ import torch
12
+ from torch import nn
13
+ from espnet2.asr.encoder.Spike_driven.Q_trick import MultiSpike
14
+
15
+
16
+
17
+ class Q_MultiHeadedAttention_HierDecay(nn.Module):
18
+ """Implementation of HD-RepSSA_S
19
+
20
+ Args:
21
+ n_head (int): The number of heads.
22
+ n_feat (int): The number of features.
23
+ dropout_rate (float): Dropout rate.
24
+ layer_id (int): Layer ID for decay calculation.
25
+
26
+ """
27
+
28
+ def __init__(self, n_head, n_feat, dropout_rate, layer_id):
29
+ """Construct an MultiHeadedAttention object."""
30
+ super(Q_MultiHeadedAttention_HierDecay_v2, self).__init__()
31
+ assert n_feat % n_head == 0
32
+ # We assume d_v always equals d_k
33
+ self.d_k = n_feat // n_head
34
+ self.h = n_head
35
+ self.linear_q = nn.Linear(n_feat, n_feat, bias=False)
36
+ self.linear_k = nn.Linear(n_feat, n_feat, bias=False)
37
+ self.linear_v = nn.Linear(n_feat, n_feat, bias=False)
38
+ self.v_sn = MultiSpike(n_feat)
39
+ self.output_sn = MultiSpike(n_feat)
40
+ self.linear_out = nn.Linear(n_feat, n_feat)
41
+ self.attn = None
42
+ self.dropout = nn.Dropout(p=dropout_rate)
43
+
44
+ # Hierarchical decay calculation
45
+ layer_decay = 1 - 2 ** (-5 - layer_id)
46
+ decay = torch.log(torch.tensor(layer_decay).repeat(n_head))
47
+ self.register_buffer("decay", decay)
48
+
49
+ def forward_qkv(self, query, key, value, iiter):
50
+ """Transform query, key and value.
51
+
52
+ Args:
53
+ query (torch.Tensor): Query tensor (#batch, time1, size).
54
+ key (torch.Tensor): Key tensor (#batch, time2, size).
55
+ value (torch.Tensor): Value tensor (#batch, time2, size).
56
+
57
+ Returns:
58
+ torch.Tensor: Transformed query tensor (#batch, n_head, time1, d_k).
59
+ torch.Tensor: Transformed key tensor (#batch, n_head, time2, d_k).
60
+ torch.Tensor: Transformed value tensor (#batch, n_head, time2, d_k).
61
+
62
+ """
63
+ n_batch = query.size(0)
64
+ q = self.linear_q(query).view(n_batch, -1, self.h, self.d_k)
65
+ k = self.linear_k(key).view(n_batch, -1, self.h, self.d_k)
66
+ v = self.v_sn(self.linear_v(value)).view(n_batch, -1, self.h, self.d_k)
67
+ q = q.transpose(1, 2) # (batch, head, time1, d_k)
68
+ k = k.transpose(1, 2) # (batch, head, time2, d_k)
69
+ v = v.transpose(1, 2) # (batch, head, time2, d_k)
70
+
71
+ return q, k, v
72
+
73
+ def forward_attention(self, value, scores, mask, inner_mask, iiter):
74
+ """Compute attention context vector.
75
+
76
+ Args:
77
+ value (torch.Tensor): Transformed value (#batch, n_head, time2, d_k).
78
+ scores (torch.Tensor): Attention score (#batch, n_head, time1, time2).
79
+ mask (torch.Tensor): Mask (#batch, 1, time2) or (#batch, time1, time2).
80
+ inner_mask (torch.Tensor): Inner mask for hierarchical decay.
81
+
82
+ Returns:
83
+ torch.Tensor: Transformed value (#batch, time1, d_model)
84
+ weighted by the attention score (#batch, time1, time2).
85
+
86
+ """
87
+ n_batch = value.size(0)
88
+ scores += inner_mask
89
+ if mask is not None:
90
+ mask = mask.unsqueeze(1).eq(0) # (batch, 1, *, time2)
91
+ min_value = torch.finfo(scores.dtype).min
92
+ scores = scores.masked_fill(mask, min_value)
93
+ self.attn = torch.softmax(scores, dim=-1).masked_fill(
94
+ mask, 0.0
95
+ ) # (batch, head, time1, time2)
96
+ else:
97
+ self.attn = torch.softmax(scores, dim=-1) # (batch, head, time1, time2)
98
+ p_attn = self.dropout(self.attn)
99
+
100
+ x = torch.matmul(p_attn, value) # (batch, head, time1, d_k)
101
+ x = (
102
+ x.transpose(1, 2).contiguous().view(n_batch, -1, self.h * self.d_k)
103
+ ) # (batch, time1, d_model)
104
+ x = self.output_sn(x)
105
+ return self.linear_out(x) # (batch, time1, d_model)
106
+
107
+ def forward(self, query, key, value, mask, iiter):
108
+ """Compute scaled dot product attention.
109
+
110
+ Args:
111
+ query (torch.Tensor): Query tensor (#batch, time1, size).
112
+ key (torch.Tensor): Key tensor (#batch, time2, size).
113
+ value (torch.Tensor): Value tensor (#batch, time2, size).
114
+ mask (torch.Tensor): Mask tensor (#batch, 1, time2) or
115
+ (#batch, time1, time2).
116
+
117
+ Returns:
118
+ torch.Tensor: Output tensor (#batch, time1, d_model).
119
+
120
+ """
121
+ slen = query.shape[1] if query.shape[1]==key.shape[1] else mask.shape[1]
122
+ index = torch.arange(slen).to(self.decay)
123
+ inner_mask = torch.abs(index.view(slen,1) - index.view(1, slen))
124
+ inner_mask = inner_mask * self.decay[:, None, None]
125
+
126
+ q, k, v = self.forward_qkv(query, key, value, iiter)
127
+ scores = torch.matmul(q, k.transpose(-2, -1))/ math.sqrt(self.d_k)
128
+ return self.forward_attention(v, scores, mask, inner_mask, iiter)
129
+
130
+ class Q_MultiHeadedAttention_HierDecay_woSoftMax(Q_MultiHeadedAttention):
131
+ """Implementation of HD-RepSSA_S
132
+
133
+ Args:
134
+ n_head (int): The number of heads.
135
+ n_feat (int): The number of features.
136
+ dropout_rate (float): Dropout rate.
137
+ layer_id (int): Layer ID for decay calculation.
138
+
139
+ """
140
+
141
+ def __init__(self, n_head, n_feat, dropout_rate, layer_id):
142
+ """Construct an MultiHeadedAttention object."""
143
+
144
+ super().__init__(n_head, n_feat, dropout_rate)
145
+ assert n_feat % n_head == 0
146
+ # We assume d_v always equals d_k
147
+ self.d_k = n_feat // n_head
148
+ self.h = n_head
149
+ self.linear_q = nn.Linear(n_feat, n_feat, bias=False)
150
+ self.linear_k = nn.Linear(n_feat, n_feat, bias=False)
151
+ self.linear_v = nn.Linear(n_feat, n_feat, bias=False)
152
+ self.q_sn = MultiSpike(n_feat)
153
+ self.k_sn = MultiSpike(n_feat)
154
+ self.v_sn = MultiSpike(n_feat)
155
+ self.output_sn = MultiSpike(n_feat)
156
+ self.linear_out = nn.Linear(n_feat, n_feat)
157
+ self.attn = None
158
+ self.dropout = nn.Dropout(p=dropout_rate)
159
+
160
+ layer_decay = 1 - 2 ** (-5 - layer_id)
161
+
162
+ decay = torch.log(torch.tensor(layer_decay).repeat(n_head))
163
+ self.register_buffer("decay", decay)
164
+
165
+ self.ln = torch.nn.LayerNorm(self.d_k)
166
+
167
+
168
+ def forward_qkv(self, query, key, value, iiter):
169
+ """Transform query, key and value.
170
+
171
+ Args:
172
+ query (torch.Tensor): Query tensor (#batch, time1, size).
173
+ key (torch.Tensor): Key tensor (#batch, time2, size).
174
+ value (torch.Tensor): Value tensor (#batch, time2, size).
175
+
176
+ Returns:
177
+ torch.Tensor: Transformed query tensor (#batch, n_head, time1, d_k).
178
+ torch.Tensor: Transformed key tensor (#batch, n_head, time2, d_k).
179
+ torch.Tensor: Transformed value tensor (#batch, n_head, time2, d_k).
180
+
181
+ """
182
+ n_batch = query.size(0)
183
+ q = self.q_sn(self.linear_q(query)).view(n_batch, -1, self.h, self.d_k)
184
+ k = self.k_sn(self.linear_k(key)).view(n_batch, -1, self.h, self.d_k)
185
+ v = self.v_sn(self.linear_v(value)).view(n_batch, -1, self.h, self.d_k)
186
+ q = q.transpose(1, 2) # (batch, head, time1, d_k)
187
+ k = k.transpose(1, 2) # (batch, head, time2, d_k)
188
+ v = v.transpose(1, 2) # (batch, head, time2, d_k)
189
+
190
+ return q, k, v
191
+
192
+ def forward_attention(self, value, scores, mask, inner_mask, iiter):
193
+ """Compute attention context vector.
194
+
195
+ Args:
196
+ value (torch.Tensor): Transformed value (#batch, n_head, time2, d_k).
197
+ scores (torch.Tensor): Attention score (#batch, n_head, time1, time2).
198
+ mask (torch.Tensor): Mask (#batch, 1, time2) or (#batch, time1, time2).
199
+
200
+ Returns:
201
+ torch.Tensor: Transformed value (#batch, time1, d_model)
202
+ weighted by the attention score (#batch, time1, time2).
203
+
204
+ """
205
+ n_batch = value.size(0)
206
+ scores = scores / scores.detach().abs().sum(dim=-1, keepdim=True).clamp(min=1, max=5e4)
207
+ if mask is not None:
208
+ mask = mask.unsqueeze(1).eq(0) # (batch, 1, *, time2)
209
+ min_value = torch.finfo(scores.dtype).min
210
+ scores = scores.masked_fill(mask, min_value)
211
+ self.attn = scores.masked_fill(
212
+ mask, 0.0
213
+ ) # (batch, head, time1, time2)
214
+ else:
215
+ self.attn = scores # (batch, head, time1, time2)
216
+ self.attn = inner_mask * self.attn
217
+ p_attn = self.dropout(self.attn)
218
+
219
+ x = self.ln(torch.matmul(p_attn, value)) # (batch, head, time1, d_k)
220
+ x = (
221
+ x.transpose(1, 2).contiguous().view(n_batch, -1, self.h * self.d_k)
222
+ ) # (batch, time1, d_model)
223
+ x = self.output_sn(x)
224
+ return self.linear_out(x) # (batch, time1, d_model)
225
+
226
+ def forward(self, query, key, value, mask, iiter):
227
+ """Compute scaled dot product attention.
228
+
229
+ Args:
230
+ query (torch.Tensor): Query tensor (#batch, time1, size).
231
+ key (torch.Tensor): Key tensor (#batch, time2, size).
232
+ value (torch.Tensor): Value tensor (#batch, time2, size).
233
+ mask (torch.Tensor): Mask tensor (#batch, 1, time2) or
234
+ (#batch, time1, time2).
235
+
236
+ Returns:
237
+ torch.Tensor: Output tensor (#batch, time1, d_model).
238
+
239
+ """
240
+ slen = query.shape[1] if query.shape[1]==key.shape[1] else mask.shape[1]
241
+ index = torch.arange(slen).to(self.decay)
242
+ inner_mask = torch.abs(index.view(slen,1) - index.view(1, slen))
243
+ inner_mask = torch.exp(inner_mask * self.decay[:, None, None])
244
+
245
+ q, k, v = self.forward_qkv(query, key, value, iiter)
246
+ scores = torch.matmul(q, k.transpose(-2, -1))
247
+ return self.forward_attention(v, scores, mask, inner_mask, iiter)
248
+
249
+ class Q_MultiHeadedAttention(nn.Module):
250
+ """Multi-Head Attention layer.
251
+
252
+ Args:
253
+ n_head (int): The number of heads.
254
+ n_feat (int): The number of features.
255
+ dropout_rate (float): Dropout rate.
256
+
257
+ """
258
+
259
+ def __init__(self, n_head, n_feat, dropout_rate):
260
+ """Construct an MultiHeadedAttention object."""
261
+ super(Q_MultiHeadedAttention, self).__init__()
262
+ assert n_feat % n_head == 0
263
+ # We assume d_v always equals d_k
264
+ self.d_k = n_feat // n_head
265
+ self.h = n_head
266
+ self.linear_q = nn.Linear(n_feat, n_feat, bias=False)
267
+ self.linear_k = nn.Linear(n_feat, n_feat, bias=False)
268
+ self.linear_v = nn.Linear(n_feat, n_feat, bias=False)
269
+ self.v_sn = MultiSpike(n_feat)
270
+ self.output_sn = MultiSpike(n_feat)
271
+ self.linear_out = nn.Linear(n_feat, n_feat)
272
+ self.attn = None
273
+ self.dropout = nn.Dropout(p=dropout_rate)
274
+
275
+ def forward_qkv(self, query, key, value, iiter):
276
+ """Transform query, key and value.
277
+
278
+ Args:
279
+ query (torch.Tensor): Query tensor (#batch, time1, size).
280
+ key (torch.Tensor): Key tensor (#batch, time2, size).
281
+ value (torch.Tensor): Value tensor (#batch, time2, size).
282
+
283
+ Returns:
284
+ torch.Tensor: Transformed query tensor (#batch, n_head, time1, d_k).
285
+ torch.Tensor: Transformed key tensor (#batch, n_head, time2, d_k).
286
+ torch.Tensor: Transformed value tensor (#batch, n_head, time2, d_k).
287
+
288
+ """
289
+ n_batch = query.size(0)
290
+ q = self.linear_q(query).view(n_batch, -1, self.h, self.d_k)
291
+ k = self.linear_k(key).view(n_batch, -1, self.h, self.d_k)
292
+ v = self.v_sn(self.linear_v(value)).view(n_batch, -1, self.h, self.d_k)
293
+ q = q.transpose(1, 2) # (batch, head, time1, d_k)
294
+ k = k.transpose(1, 2) # (batch, head, time2, d_k)
295
+ v = v.transpose(1, 2) # (batch, head, time2, d_k)
296
+
297
+ return q, k, v
298
+
299
+ def forward_attention(self, value, scores, mask, iiter):
300
+ """Compute attention context vector.
301
+
302
+ Args:
303
+ value (torch.Tensor): Transformed value (#batch, n_head, time2, d_k).
304
+ scores (torch.Tensor): Attention score (#batch, n_head, time1, time2).
305
+ mask (torch.Tensor): Mask (#batch, 1, time2) or (#batch, time1, time2).
306
+
307
+ Returns:
308
+ torch.Tensor: Transformed value (#batch, time1, d_model)
309
+ weighted by the attention score (#batch, time1, time2).
310
+
311
+ """
312
+ n_batch = value.size(0)
313
+ if mask is not None:
314
+ mask = mask.unsqueeze(1).eq(0) # (batch, 1, *, time2)
315
+ min_value = torch.finfo(scores.dtype).min
316
+ scores = scores.masked_fill(mask, min_value)
317
+ self.attn = torch.softmax(scores, dim=-1).masked_fill(
318
+ mask, 0.0
319
+ ) # (batch, head, time1, time2)
320
+ else:
321
+ self.attn = torch.softmax(scores, dim=-1) # (batch, head, time1, time2)
322
+
323
+ p_attn = self.dropout(self.attn)
324
+ x = torch.matmul(p_attn, value) # (batch, head, time1, d_k)
325
+
326
+ x = (
327
+ x.transpose(1, 2).contiguous().view(n_batch, -1, self.h * self.d_k)
328
+ ) # (batch, time1, d_model)
329
+ x = self.output_sn(x)
330
+ return self.linear_out(x) # (batch, time1, d_model)
331
+
332
+ def forward(self, query, key, value, mask, iiter):
333
+ """Compute scaled dot product attention.
334
+
335
+ Args:
336
+ query (torch.Tensor): Query tensor (#batch, time1, size).
337
+ key (torch.Tensor): Key tensor (#batch, time2, size).
338
+ value (torch.Tensor): Value tensor (#batch, time2, size).
339
+ mask (torch.Tensor): Mask tensor (#batch, 1, time2) or
340
+ (#batch, time1, time2).
341
+
342
+ Returns:
343
+ torch.Tensor: Output tensor (#batch, time1, d_model).
344
+
345
+ """
346
+ q, k, v = self.forward_qkv(query, key, value, iiter)
347
+ scores = torch.matmul(q, k.transpose(-2, -1)) / math.sqrt(self.d_k)
348
+ return self.forward_attention(v, scores, mask, iiter)
349
+
350
+
351
+
352
+ class Q_MultiHeadedAttention_woSoftMax(Q_MultiHeadedAttention):
353
+ """Multi-Head Attention layer without SoftMax.
354
+
355
+ Args:
356
+ n_head (int): The number of heads.
357
+ n_feat (int): The number of features.
358
+ dropout_rate (float): Dropout rate.
359
+
360
+ """
361
+
362
+ def __init__(self, n_head, n_feat, dropout_rate):
363
+ """Construct an MultiHeadedAttention object."""
364
+ super().__init__(n_head, n_feat, dropout_rate)
365
+ assert n_feat % n_head == 0
366
+ # We assume d_v always equals d_k
367
+ self.d_k = n_feat // n_head
368
+ self.h = n_head
369
+ self.linear_q = nn.Linear(n_feat, n_feat, bias=False)
370
+ self.linear_k = nn.Linear(n_feat, n_feat, bias=False)
371
+ self.linear_v = nn.Linear(n_feat, n_feat, bias=False)
372
+ self.q_sn = MultiSpike(n_feat)
373
+ self.k_sn = MultiSpike(n_feat)
374
+ self.v_sn = MultiSpike(n_feat)
375
+ self.output_sn = MultiSpike(n_feat)
376
+ self.linear_out = nn.Linear(n_feat, n_feat)
377
+ self.attn = None
378
+ # self.dropout = nn.Dropout(p=dropout_rate)
379
+ self.ln = torch.nn.LayerNorm(self.d_k)
380
+ # self.scale = self.d_k ** -0.5
381
+ def forward_qkv(self, query, key, value, iiter):
382
+ """Transform query, key and value.
383
+
384
+ Args:
385
+ query (torch.Tensor): Query tensor (#batch, time1, size).
386
+ key (torch.Tensor): Key tensor (#batch, time2, size).
387
+ value (torch.Tensor): Value tensor (#batch, time2, size).
388
+
389
+ Returns:
390
+ torch.Tensor: Transformed query tensor (#batch, n_head, time1, d_k).
391
+ torch.Tensor: Transformed key tensor (#batch, n_head, time2, d_k).
392
+ torch.Tensor: Transformed value tensor (#batch, n_head, time2, d_k).
393
+
394
+ """
395
+ n_batch = query.size(0)
396
+ k = self.linear_k(key).view(n_batch, -1, self.h, self.d_k)
397
+ v = self.linear_v(value).view(n_batch, -1, self.h, self.d_k)
398
+ q = self.q_sn(self.linear_q(query)).view(n_batch, -1, self.h, self.d_k)
399
+ q = q.transpose(1, 2) # (batch, head, time1, d_k)
400
+ k = k.transpose(1, 2) # (batch, head, time2, d_k)
401
+ v = v.transpose(1, 2) # (batch, head, time2, d_k)
402
+
403
+ return q, k, v
404
+
405
+ def forward_attention(self, value, scores, mask, iiter):
406
+ """Compute attention context vector.
407
+
408
+ Args:
409
+ value (torch.Tensor): Transformed value (#batch, n_head, time2, d_k).
410
+ scores (torch.Tensor): Attention score (#batch, n_head, time1, time2).
411
+ mask (torch.Tensor): Mask (#batch, 1, time2) or (#batch, time1, time2).
412
+
413
+ Returns:
414
+ torch.Tensor: Transformed value (#batch, time1, d_model)
415
+ weighted by the attention score (#batch, time1, time2).
416
+
417
+ """
418
+ n_batch = value.size(0)
419
+ scores = scores / scores.detach().abs().sum(dim=-1, keepdim=True).clamp(min=1, max=5e4)
420
+ if mask is not None:
421
+ mask = mask.unsqueeze(1).eq(0) # (batch, 1, *, time2)
422
+ min_value = torch.finfo(scores.dtype).min
423
+ scores = scores.masked_fill(mask, min_value)
424
+ self.attn = scores.masked_fill(
425
+ mask, 0.0
426
+ ) # (batch, head, time1, time2)
427
+ else:
428
+ self.attn = scores # (batch, head, time1, time2)
429
+ p_attn = self.dropout(self.attn)
430
+ x = self.ln(torch.matmul(p_attn, value))# (batch, head, time1, d_k)
431
+ # x = torch.matmul(p_attn, value) * self.scale# (batch, head, time1, d_k)
432
+ x = (
433
+ x.transpose(1, 2).contiguous().view(n_batch, -1, self.h * self.d_k)
434
+ ) # (batch, time1, d_model)
435
+ x = self.output_sn(x)
436
+ return self.linear_out(x) # (batch, time1, d_model)
437
+
438
+ def forward(self, query, key, value, mask, iiter):
439
+ """Compute scaled dot product attention.
440
+
441
+ Args:
442
+ query (torch.Tensor): Query tensor (#batch, time1, size).
443
+ key (torch.Tensor): Key tensor (#batch, time2, size).
444
+ value (torch.Tensor): Value tensor (#batch, time2, size).
445
+ mask (torch.Tensor): Mask tensor (#batch, 1, time2) or
446
+ (#batch, time1, time2).
447
+
448
+ Returns:
449
+ torch.Tensor: Output tensor (#batch, time1, d_model).
450
+
451
+ """
452
+ q, k, v = self.forward_qkv(query, key, value, iiter)
453
+ scores = torch.matmul(q, k.transpose(-2, -1))
454
+ return self.forward_attention(v, scores, mask, iiter)
455
+
src/Spike_driven/Spike_driven_modules/Q_positionwise_feed_forward.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ # Copyright 2019 Shigeki Karita
5
+ # Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
6
+
7
+ """Positionwise feed forward layer definition."""
8
+
9
+ import torch
10
+ from torch import nn
11
+ from espnet2.asr.encoder.Spike_driven.Q_trick import MultiSpike,
12
+
13
+ class Q_PositionwiseFeedForward(torch.nn.Module):
14
+ """Positionwise feed forward layer.
15
+
16
+ Args:
17
+ idim (int): Input dimenstion.
18
+ hidden_units (int): The number of hidden units.
19
+ dropout_rate (float): Dropout rate.
20
+
21
+ """
22
+
23
+ def __init__(self, idim, hidden_units, dropout_rate):
24
+ """Construct an PositionwiseFeedForward object."""
25
+ super(Q_PositionwiseFeedForward, self).__init__()
26
+ self.w_1 = torch.nn.Linear(idim, hidden_units)
27
+ self.w_2 = torch.nn.Linear(hidden_units, idim)
28
+ self.activation = MultiSpike(hidden_units)
29
+
30
+ def forward(self, x, iiter):
31
+ """Forward function."""
32
+ x = self.w_1(x)
33
+ x = self.activation(x)
34
+ x = self.w_2(x)
35
+ return x
src/asr.py ADDED
@@ -0,0 +1,635 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import argparse
2
+ import logging
3
+ from typing import Callable, Collection, Dict, List, Optional, Tuple
4
+
5
+ import numpy as np
6
+ import torch
7
+ from typeguard import typechecked
8
+
9
+ from espnet2.asr.ctc import CTC
10
+ from espnet2.asr.decoder.abs_decoder import AbsDecoder
11
+ from espnet2.asr.decoder.hugging_face_transformers_decoder import ( # noqa: H301
12
+ HuggingFaceTransformersDecoder,
13
+ )
14
+ from espnet2.asr.decoder.mlm_decoder import MLMDecoder
15
+ from espnet2.asr.decoder.rnn_decoder import RNNDecoder
16
+ from espnet2.asr.decoder.s4_decoder import S4Decoder
17
+ from espnet2.asr.decoder.transducer_decoder import TransducerDecoder
18
+ from espnet2.asr.decoder.transformer_decoder import (
19
+ DynamicConvolution2DTransformerDecoder,
20
+ DynamicConvolutionTransformerDecoder,
21
+ LightweightConvolution2DTransformerDecoder,
22
+ LightweightConvolutionTransformerDecoder,
23
+ TransformerDecoder,
24
+ )
25
+ from espnet2.asr.decoder.whisper_decoder import OpenAIWhisperDecoder
26
+ from espnet2.asr.encoder.abs_encoder import AbsEncoder
27
+ from espnet2.asr.encoder.avhubert_encoder import FairseqAVHubertEncoder
28
+ from espnet2.asr.encoder.branchformer_encoder import BranchformerEncoder
29
+ from espnet2.asr.encoder.conformer_encoder import ConformerEncoder
30
+ from espnet2.asr.encoder.contextual_block_conformer_encoder import (
31
+ ContextualBlockConformerEncoder,
32
+ )
33
+ from espnet2.asr.encoder.contextual_block_transformer_encoder import (
34
+ ContextualBlockTransformerEncoder,
35
+ )
36
+ from espnet2.asr.encoder.e_branchformer_encoder import EBranchformerEncoder
37
+ from espnet2.asr.encoder.hubert_encoder import (
38
+ FairseqHubertEncoder,
39
+ FairseqHubertPretrainEncoder,
40
+ TorchAudioHuBERTPretrainEncoder,
41
+ )
42
+ from espnet2.asr.encoder.longformer_encoder import LongformerEncoder
43
+ from espnet2.asr.encoder.rnn_encoder import RNNEncoder
44
+ from espnet2.asr.encoder.transformer_encoder import TransformerEncoder
45
+ from espnet2.asr.encoder.Spike_driven.Q_transformer_encoder import Q_TransformerEncoder
46
+ from espnet2.asr.encoder.transformer_encoder_multispkr import (
47
+ TransformerEncoder as TransformerEncoderMultiSpkr,
48
+ )
49
+ from espnet2.asr.encoder.vgg_rnn_encoder import VGGRNNEncoder
50
+ from espnet2.asr.encoder.wav2vec2_encoder import FairSeqWav2Vec2Encoder
51
+ from espnet2.asr.encoder.whisper_encoder import OpenAIWhisperEncoder
52
+ from espnet2.asr.espnet_model import ESPnetASRModel
53
+ from espnet2.asr.frontend.abs_frontend import AbsFrontend
54
+ from espnet2.asr.frontend.default import DefaultFrontend
55
+ from espnet2.asr.frontend.fused import FusedFrontends
56
+ from espnet2.asr.frontend.s3prl import S3prlFrontend
57
+ from espnet2.asr.frontend.whisper import WhisperFrontend
58
+ from espnet2.asr.frontend.windowing import SlidingWindow
59
+ from espnet2.asr.maskctc_model import MaskCTCModel
60
+ from espnet2.asr.pit_espnet_model import ESPnetASRModel as PITESPnetModel
61
+ from espnet2.asr.postencoder.abs_postencoder import AbsPostEncoder
62
+ from espnet2.asr.postencoder.hugging_face_transformers_postencoder import (
63
+ HuggingFaceTransformersPostEncoder,
64
+ )
65
+ from espnet2.asr.postencoder.length_adaptor_postencoder import LengthAdaptorPostEncoder
66
+ from espnet2.asr.preencoder.abs_preencoder import AbsPreEncoder
67
+ from espnet2.asr.preencoder.linear import LinearProjection
68
+ from espnet2.asr.preencoder.sinc import LightweightSincConvs
69
+ from espnet2.asr.specaug.abs_specaug import AbsSpecAug
70
+ from espnet2.asr.specaug.specaug import SpecAug
71
+ from espnet2.asr_transducer.joint_network import JointNetwork
72
+ from espnet2.layers.abs_normalize import AbsNormalize
73
+ from espnet2.layers.global_mvn import GlobalMVN
74
+ from espnet2.layers.utterance_mvn import UtteranceMVN
75
+ from espnet2.tasks.abs_task import AbsTask
76
+ from espnet2.text.phoneme_tokenizer import g2p_choices
77
+ from espnet2.torch_utils.initialize import initialize
78
+ from espnet2.train.abs_espnet_model import AbsESPnetModel
79
+ from espnet2.train.class_choices import ClassChoices
80
+ from espnet2.train.collate_fn import CommonCollateFn
81
+ from espnet2.train.preprocessor import (
82
+ AbsPreprocessor,
83
+ CommonPreprocessor,
84
+ CommonPreprocessor_multi,
85
+ )
86
+ from espnet2.train.trainer import Trainer
87
+ from espnet2.utils.get_default_kwargs import get_default_kwargs
88
+ from espnet2.utils.nested_dict_action import NestedDictAction
89
+ from espnet2.utils.types import float_or_none, int_or_none, str2bool, str_or_none
90
+
91
+ frontend_choices = ClassChoices(
92
+ name="frontend",
93
+ classes=dict(
94
+ default=DefaultFrontend,
95
+ sliding_window=SlidingWindow,
96
+ s3prl=S3prlFrontend,
97
+ fused=FusedFrontends,
98
+ whisper=WhisperFrontend,
99
+ ),
100
+ type_check=AbsFrontend,
101
+ default="default",
102
+ )
103
+ specaug_choices = ClassChoices(
104
+ name="specaug",
105
+ classes=dict(
106
+ specaug=SpecAug,
107
+ ),
108
+ type_check=AbsSpecAug,
109
+ default=None,
110
+ optional=True,
111
+ )
112
+ normalize_choices = ClassChoices(
113
+ "normalize",
114
+ classes=dict(
115
+ global_mvn=GlobalMVN,
116
+ utterance_mvn=UtteranceMVN,
117
+ ),
118
+ type_check=AbsNormalize,
119
+ default="utterance_mvn",
120
+ optional=True,
121
+ )
122
+ model_choices = ClassChoices(
123
+ "model",
124
+ classes=dict(
125
+ espnet=ESPnetASRModel,
126
+ maskctc=MaskCTCModel,
127
+ pit_espnet=PITESPnetModel,
128
+ ),
129
+ type_check=AbsESPnetModel,
130
+ default="espnet",
131
+ )
132
+ preencoder_choices = ClassChoices(
133
+ name="preencoder",
134
+ classes=dict(
135
+ sinc=LightweightSincConvs,
136
+ linear=LinearProjection,
137
+ ),
138
+ type_check=AbsPreEncoder,
139
+ default=None,
140
+ optional=True,
141
+ )
142
+ encoder_choices = ClassChoices(
143
+ "encoder",
144
+ classes=dict(
145
+ conformer=ConformerEncoder,
146
+ transformer=TransformerEncoder,
147
+ Q_transformer=Q_TransformerEncoder,
148
+ transformer_multispkr=TransformerEncoderMultiSpkr,
149
+ contextual_block_transformer=ContextualBlockTransformerEncoder,
150
+ contextual_block_conformer=ContextualBlockConformerEncoder,
151
+ vgg_rnn=VGGRNNEncoder,
152
+ rnn=RNNEncoder,
153
+ wav2vec2=FairSeqWav2Vec2Encoder,
154
+ hubert=FairseqHubertEncoder,
155
+ hubert_pretrain=FairseqHubertPretrainEncoder,
156
+ torchaudiohubert=TorchAudioHuBERTPretrainEncoder,
157
+ longformer=LongformerEncoder,
158
+ branchformer=BranchformerEncoder,
159
+ whisper=OpenAIWhisperEncoder,
160
+ e_branchformer=EBranchformerEncoder,
161
+ avhubert=FairseqAVHubertEncoder,
162
+ ),
163
+ type_check=AbsEncoder,
164
+ default="rnn",
165
+ )
166
+ postencoder_choices = ClassChoices(
167
+ name="postencoder",
168
+ classes=dict(
169
+ hugging_face_transformers=HuggingFaceTransformersPostEncoder,
170
+ length_adaptor=LengthAdaptorPostEncoder,
171
+ ),
172
+ type_check=AbsPostEncoder,
173
+ default=None,
174
+ optional=True,
175
+ )
176
+ decoder_choices = ClassChoices(
177
+ "decoder",
178
+ classes=dict(
179
+ transformer=TransformerDecoder,
180
+ lightweight_conv=LightweightConvolutionTransformerDecoder,
181
+ lightweight_conv2d=LightweightConvolution2DTransformerDecoder,
182
+ dynamic_conv=DynamicConvolutionTransformerDecoder,
183
+ dynamic_conv2d=DynamicConvolution2DTransformerDecoder,
184
+ rnn=RNNDecoder,
185
+ transducer=TransducerDecoder,
186
+ mlm=MLMDecoder,
187
+ whisper=OpenAIWhisperDecoder,
188
+ hugging_face_transformers=HuggingFaceTransformersDecoder,
189
+ s4=S4Decoder,
190
+ ),
191
+ type_check=AbsDecoder,
192
+ default=None,
193
+ optional=True,
194
+ )
195
+ preprocessor_choices = ClassChoices(
196
+ "preprocessor",
197
+ classes=dict(
198
+ default=CommonPreprocessor,
199
+ multi=CommonPreprocessor_multi,
200
+ ),
201
+ type_check=AbsPreprocessor,
202
+ default="default",
203
+ )
204
+
205
+
206
+ class ASRTask(AbsTask):
207
+ # If you need more than one optimizers, change this value
208
+ num_optimizers: int = 1
209
+
210
+ # Add variable objects configurations
211
+ class_choices_list = [
212
+ # --frontend and --frontend_conf
213
+ frontend_choices,
214
+ # --specaug and --specaug_conf
215
+ specaug_choices,
216
+ # --normalize and --normalize_conf
217
+ normalize_choices,
218
+ # --model and --model_conf
219
+ model_choices,
220
+ # --preencoder and --preencoder_conf
221
+ preencoder_choices,
222
+ # --encoder and --encoder_conf
223
+ encoder_choices,
224
+ # --postencoder and --postencoder_conf
225
+ postencoder_choices,
226
+ # --decoder and --decoder_conf
227
+ decoder_choices,
228
+ # --preprocessor and --preprocessor_conf
229
+ preprocessor_choices,
230
+ ]
231
+
232
+ # If you need to modify train() or eval() procedures, change Trainer class here
233
+ trainer = Trainer
234
+
235
+ @classmethod
236
+ def add_task_arguments(cls, parser: argparse.ArgumentParser):
237
+ group = parser.add_argument_group(description="Task related")
238
+
239
+ # NOTE(kamo): add_arguments(..., required=True) can't be used
240
+ # to provide --print_config mode. Instead of it, do as
241
+ required = parser.get_default("required")
242
+ required += ["token_list"]
243
+
244
+ group.add_argument(
245
+ "--token_list",
246
+ type=str_or_none,
247
+ default=None,
248
+ help="A text mapping int-id to token",
249
+ )
250
+ group.add_argument(
251
+ "--init",
252
+ type=lambda x: str_or_none(x.lower()),
253
+ default=None,
254
+ help="The initialization method",
255
+ choices=[
256
+ "chainer",
257
+ "xavier_uniform",
258
+ "xavier_normal",
259
+ "kaiming_uniform",
260
+ "kaiming_normal",
261
+ None,
262
+ ],
263
+ )
264
+
265
+ group.add_argument(
266
+ "--input_size",
267
+ type=int_or_none,
268
+ default=None,
269
+ help="The number of input dimension of the feature",
270
+ )
271
+
272
+ group.add_argument(
273
+ "--ctc_conf",
274
+ action=NestedDictAction,
275
+ default=get_default_kwargs(CTC),
276
+ help="The keyword arguments for CTC class.",
277
+ )
278
+ group.add_argument(
279
+ "--joint_net_conf",
280
+ action=NestedDictAction,
281
+ default=None,
282
+ help="The keyword arguments for joint network class.",
283
+ )
284
+
285
+ group = parser.add_argument_group(description="Preprocess related")
286
+ group.add_argument(
287
+ "--use_preprocessor",
288
+ type=str2bool,
289
+ default=True,
290
+ help="Apply preprocessing to data or not",
291
+ )
292
+ group.add_argument(
293
+ "--use_lang_prompt",
294
+ type=str2bool,
295
+ default=False,
296
+ help="Use language id as prompt",
297
+ )
298
+ group.add_argument(
299
+ "--use_nlp_prompt",
300
+ type=str2bool,
301
+ default=False,
302
+ help="Use natural language phrases as prompt",
303
+ )
304
+ group.add_argument(
305
+ "--token_type",
306
+ type=str,
307
+ default="bpe",
308
+ choices=[
309
+ "bpe",
310
+ "char",
311
+ "word",
312
+ "phn",
313
+ "hugging_face",
314
+ "whisper_en",
315
+ "whisper_multilingual",
316
+ ],
317
+ help="The text will be tokenized " "in the specified level token",
318
+ )
319
+ group.add_argument(
320
+ "--bpemodel",
321
+ type=str_or_none,
322
+ default=None,
323
+ help="The model file of sentencepiece",
324
+ )
325
+ parser.add_argument(
326
+ "--non_linguistic_symbols",
327
+ type=str_or_none,
328
+ help="non_linguistic_symbols file path",
329
+ )
330
+ group.add_argument(
331
+ "--cleaner",
332
+ type=str_or_none,
333
+ choices=[
334
+ None,
335
+ "tacotron",
336
+ "jaconv",
337
+ "vietnamese",
338
+ "whisper_en",
339
+ "whisper_basic",
340
+ ],
341
+ default=None,
342
+ help="Apply text cleaning",
343
+ )
344
+ group.add_argument(
345
+ "--g2p",
346
+ type=str_or_none,
347
+ choices=g2p_choices,
348
+ default=None,
349
+ help="Specify g2p method if --token_type=phn",
350
+ )
351
+ group.add_argument(
352
+ "--speech_volume_normalize",
353
+ type=float_or_none,
354
+ default=None,
355
+ help="Scale the maximum amplitude to the given value.",
356
+ )
357
+ group.add_argument(
358
+ "--rir_scp",
359
+ type=str_or_none,
360
+ default=None,
361
+ help="The file path of rir scp file.",
362
+ )
363
+ group.add_argument(
364
+ "--rir_apply_prob",
365
+ type=float,
366
+ default=1.0,
367
+ help="THe probability for applying RIR convolution.",
368
+ )
369
+ group.add_argument(
370
+ "--noise_scp",
371
+ type=str_or_none,
372
+ default=None,
373
+ help="The file path of noise scp file.",
374
+ )
375
+ group.add_argument(
376
+ "--noise_apply_prob",
377
+ type=float,
378
+ default=1.0,
379
+ help="The probability applying Noise adding.",
380
+ )
381
+ group.add_argument(
382
+ "--noise_db_range",
383
+ type=str,
384
+ default="13_15",
385
+ help="The range of noise decibel level.",
386
+ )
387
+ group.add_argument(
388
+ "--short_noise_thres",
389
+ type=float,
390
+ default=0.5,
391
+ help="If len(noise) / len(speech) is smaller than this threshold during "
392
+ "dynamic mixing, a warning will be displayed.",
393
+ )
394
+ group.add_argument(
395
+ "--aux_ctc_tasks",
396
+ type=str,
397
+ nargs="+",
398
+ default=[],
399
+ help="Auxillary tasks to train on using CTC loss. ",
400
+ )
401
+
402
+ for class_choices in cls.class_choices_list:
403
+ # Append --<name> and --<name>_conf.
404
+ # e.g. --encoder and --encoder_conf
405
+ class_choices.add_arguments(group)
406
+
407
+ @classmethod
408
+ @typechecked
409
+ def build_collate_fn(cls, args: argparse.Namespace, train: bool) -> Callable[
410
+ [Collection[Tuple[str, Dict[str, np.ndarray]]]],
411
+ Tuple[List[str], Dict[str, torch.Tensor]],
412
+ ]:
413
+ # NOTE(kamo): int value = 0 is reserved by CTC-blank symbol
414
+ return CommonCollateFn(float_pad_value=0.0, int_pad_value=-1)
415
+
416
+ @classmethod
417
+ @typechecked
418
+ def build_preprocess_fn(
419
+ cls, args: argparse.Namespace, train: bool
420
+ ) -> Optional[Callable[[str, Dict[str, np.array]], Dict[str, np.ndarray]]]:
421
+ if args.use_preprocessor:
422
+ try:
423
+ _ = getattr(args, "preprocessor")
424
+ except AttributeError:
425
+ setattr(args, "preprocessor", "default")
426
+ setattr(args, "preprocessor_conf", dict())
427
+ except Exception as e:
428
+ raise e
429
+
430
+ preprocessor_class = preprocessor_choices.get_class(args.preprocessor)
431
+ retval = preprocessor_class(
432
+ train=train,
433
+ token_type=args.token_type,
434
+ token_list=args.token_list,
435
+ bpemodel=args.bpemodel,
436
+ non_linguistic_symbols=args.non_linguistic_symbols,
437
+ text_cleaner=args.cleaner,
438
+ g2p_type=args.g2p,
439
+ # NOTE(kamo): Check attribute existence for backward compatibility
440
+ rir_scp=args.rir_scp if hasattr(args, "rir_scp") else None,
441
+ rir_apply_prob=(
442
+ args.rir_apply_prob if hasattr(args, "rir_apply_prob") else 1.0
443
+ ),
444
+ noise_scp=args.noise_scp if hasattr(args, "noise_scp") else None,
445
+ noise_apply_prob=(
446
+ args.noise_apply_prob if hasattr(args, "noise_apply_prob") else 1.0
447
+ ),
448
+ noise_db_range=(
449
+ args.noise_db_range if hasattr(args, "noise_db_range") else "13_15"
450
+ ),
451
+ short_noise_thres=(
452
+ args.short_noise_thres
453
+ if hasattr(args, "short_noise_thres")
454
+ else 0.5
455
+ ),
456
+ speech_volume_normalize=(
457
+ args.speech_volume_normalize if hasattr(args, "rir_scp") else None
458
+ ),
459
+ aux_task_names=(
460
+ args.aux_ctc_tasks if hasattr(args, "aux_ctc_tasks") else None
461
+ ),
462
+ use_lang_prompt=(
463
+ args.use_lang_prompt if hasattr(args, "use_lang_prompt") else None
464
+ ),
465
+ **args.preprocessor_conf,
466
+ use_nlp_prompt=(
467
+ args.use_nlp_prompt if hasattr(args, "use_nlp_prompt") else None
468
+ ),
469
+ )
470
+ else:
471
+ retval = None
472
+ return retval
473
+
474
+ @classmethod
475
+ def required_data_names(
476
+ cls, train: bool = True, inference: bool = False
477
+ ) -> Tuple[str, ...]:
478
+ if not inference:
479
+ retval = ("speech", "text")
480
+ else:
481
+ # Recognition mode
482
+ retval = ("speech",)
483
+ return retval
484
+
485
+ @classmethod
486
+ def optional_data_names(
487
+ cls, train: bool = True, inference: bool = False
488
+ ) -> Tuple[str, ...]:
489
+ MAX_REFERENCE_NUM = 4
490
+
491
+ retval = ["text_spk{}".format(n) for n in range(2, MAX_REFERENCE_NUM + 1)]
492
+ retval = retval + ["prompt"]
493
+ retval = tuple(retval)
494
+
495
+ logging.info(f"Optional Data Names: {retval }")
496
+ return retval
497
+
498
+ @classmethod
499
+ @typechecked
500
+ def build_model(cls, args: argparse.Namespace) -> ESPnetASRModel:
501
+ if isinstance(args.token_list, str):
502
+ with open(args.token_list, encoding="utf-8") as f:
503
+ token_list = [line.rstrip() for line in f]
504
+
505
+ # Overwriting token_list to keep it as "portable".
506
+ args.token_list = list(token_list)
507
+ elif isinstance(args.token_list, (tuple, list)):
508
+ token_list = list(args.token_list)
509
+ else:
510
+ raise RuntimeError("token_list must be str or list")
511
+
512
+ # If use multi-blank transducer criterion,
513
+ # big blank symbols are added just before the standard blank
514
+ if args.model_conf.get("transducer_multi_blank_durations", None) is not None:
515
+ sym_blank = args.model_conf.get("sym_blank", "<blank>")
516
+ blank_idx = token_list.index(sym_blank)
517
+ for dur in args.model_conf.get("transducer_multi_blank_durations"):
518
+ if f"<blank{dur}>" not in token_list: # avoid this during inference
519
+ token_list.insert(blank_idx, f"<blank{dur}>")
520
+ args.token_list = token_list
521
+
522
+ vocab_size = len(token_list)
523
+ logging.info(f"Vocabulary size: {vocab_size }")
524
+
525
+ # 1. frontend
526
+ if args.input_size is None:
527
+ # Extract features in the model
528
+ frontend_class = frontend_choices.get_class(args.frontend)
529
+ frontend = frontend_class(**args.frontend_conf)
530
+ input_size = frontend.output_size()
531
+ else:
532
+ # Give features from data-loader
533
+ args.frontend = None
534
+ args.frontend_conf = {}
535
+ frontend = None
536
+ input_size = args.input_size
537
+
538
+ # 2. Data augmentation for spectrogram
539
+ if args.specaug is not None:
540
+ specaug_class = specaug_choices.get_class(args.specaug)
541
+ specaug = specaug_class(**args.specaug_conf)
542
+ else:
543
+ specaug = None
544
+
545
+ # 3. Normalization layer
546
+ if args.normalize is not None:
547
+ normalize_class = normalize_choices.get_class(args.normalize)
548
+ normalize = normalize_class(**args.normalize_conf)
549
+ else:
550
+ normalize = None
551
+
552
+ # 4. Pre-encoder input block
553
+ # NOTE(kan-bayashi): Use getattr to keep the compatibility
554
+ if getattr(args, "preencoder", None) is not None:
555
+ preencoder_class = preencoder_choices.get_class(args.preencoder)
556
+ preencoder = preencoder_class(**args.preencoder_conf)
557
+ input_size = preencoder.output_size()
558
+ else:
559
+ preencoder = None
560
+
561
+ # 4. Encoder
562
+ encoder_class = encoder_choices.get_class(args.encoder)
563
+ encoder = encoder_class(input_size=input_size, **args.encoder_conf)
564
+
565
+ # 5. Post-encoder block
566
+ # NOTE(kan-bayashi): Use getattr to keep the compatibility
567
+ encoder_output_size = encoder.output_size()
568
+ if getattr(args, "postencoder", None) is not None:
569
+ postencoder_class = postencoder_choices.get_class(args.postencoder)
570
+ postencoder = postencoder_class(
571
+ input_size=encoder_output_size, **args.postencoder_conf
572
+ )
573
+ encoder_output_size = postencoder.output_size()
574
+ else:
575
+ postencoder = None
576
+
577
+ # 5. Decoder
578
+ if getattr(args, "decoder", None) is not None:
579
+ decoder_class = decoder_choices.get_class(args.decoder)
580
+
581
+ if args.decoder == "transducer":
582
+ decoder = decoder_class(
583
+ vocab_size,
584
+ embed_pad=0,
585
+ **args.decoder_conf,
586
+ )
587
+
588
+ joint_network = JointNetwork(
589
+ vocab_size,
590
+ encoder.output_size(),
591
+ decoder.dunits,
592
+ **args.joint_net_conf,
593
+ )
594
+ else:
595
+ decoder = decoder_class(
596
+ vocab_size=vocab_size,
597
+ encoder_output_size=encoder_output_size,
598
+ **args.decoder_conf,
599
+ )
600
+ joint_network = None
601
+ else:
602
+ decoder = None
603
+ joint_network = None
604
+
605
+ # 6. CTC
606
+ ctc = CTC(
607
+ odim=vocab_size, encoder_output_size=encoder_output_size, **args.ctc_conf
608
+ )
609
+
610
+ # 7. Build model
611
+ try:
612
+ model_class = model_choices.get_class(args.model)
613
+ except AttributeError:
614
+ model_class = model_choices.get_class("espnet")
615
+ model = model_class(
616
+ vocab_size=vocab_size,
617
+ frontend=frontend,
618
+ specaug=specaug,
619
+ normalize=normalize,
620
+ preencoder=preencoder,
621
+ encoder=encoder,
622
+ postencoder=postencoder,
623
+ decoder=decoder,
624
+ ctc=ctc,
625
+ joint_network=joint_network,
626
+ token_list=token_list,
627
+ **args.model_conf,
628
+ )
629
+
630
+ # FIXME(kamo): Should be done in model?
631
+ # 8. Initialize
632
+ if args.init is not None:
633
+ initialize(model, args.init)
634
+
635
+ return model
src/conf/Librispeech/train_asr_Q_transformer3_HierDecayv2.yaml ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ batch_type: numel
2
+ batch_bins: 45000000
3
+ accum_grad: 2
4
+ max_epoch: 100
5
+ patience: none
6
+ # The initialization method for model parameters
7
+ init: xavier_uniform
8
+ best_model_criterion:
9
+ - - valid
10
+ - acc
11
+ - max
12
+ keep_nbest_models: 10
13
+
14
+ encoder: Q_transformer
15
+ encoder_conf:
16
+ output_size: 512
17
+ attention_heads: 8
18
+ attention_layer_type: HierDecayv2
19
+ linear_units: 2048
20
+ num_blocks: 18
21
+ dropout_rate: 0.1
22
+ positional_dropout_rate: 0.1
23
+ attention_dropout_rate: 0.1
24
+ input_layer: conv2d6
25
+ normalize_before: true
26
+
27
+ decoder: transformer
28
+ decoder_conf:
29
+ attention_heads: 8
30
+ linear_units: 2048
31
+ num_blocks: 6
32
+ dropout_rate: 0.1
33
+ positional_dropout_rate: 0.1
34
+ self_attention_dropout_rate: 0.1
35
+ src_attention_dropout_rate: 0.1
36
+
37
+ model_conf:
38
+ ctc_weight: 0.3
39
+ lsm_weight: 0.1
40
+ length_normalized_loss: false
41
+
42
+ use_amp: true
43
+ optim: adam
44
+ optim_conf:
45
+ lr: 0.002
46
+ scheduler: warmuplr
47
+ scheduler_conf:
48
+ warmup_steps: 25000
49
+
50
+ specaug: specaug
51
+ specaug_conf:
52
+ apply_time_warp: true
53
+ time_warp_window: 5
54
+ time_warp_mode: bicubic
55
+ apply_freq_mask: true
56
+ freq_mask_width_range:
57
+ - 0
58
+ - 30
59
+ num_freq_mask: 2
60
+ apply_time_mask: true
61
+ time_mask_width_range:
62
+ - 0
63
+ - 40
64
+ num_time_mask: 2