Skip to content

Commit 1649caf

Browse files
bmccannsoumith
authored andcommitted
touch ups and README updates
1 parent 99231ac commit 1649caf

File tree

2 files changed

+15
-16
lines changed

2 files changed

+15
-16
lines changed

OpenNMT/README.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,19 @@ Use of OpenNMT consists of four steps:
3232

3333
```perl multi-bleu.perl data/tgt-test.txt < demo_pred.txt```
3434

35-
## WMT'16 Multimodal Translation: Flickr30k (de-en)
35+
## WMT'16 Multimodal Translation: Multi30k (de-en)
3636

37-
Data might not come as clean as the demo data. Here is a second example that uses the Moses tokenizer (http://www.statmt.org/moses/) to prepare the Flickr30k data from the WMT'16 Multimodal Translation task (http://www.statmt.org/wmt16/multimodal-task.html).
37+
Data might not come as clean as the demo data. Here is a second example that uses the Moses tokenizer (http://www.statmt.org/moses/) to prepare the Multi30k data from the WMT'16 Multimodal Translation task (http://www.statmt.org/wmt16/multimodal-task.html).
3838

3939
### 0) Download the data.
4040

41-
```mkdir -p data/flickr```
41+
```mkdir -p data/multi30k```
4242

43-
```wget http://www.quest.dcs.shef.ac.uk/wmt16_files_mmt/training.tar.gz && tar -xf training.tar.gz -C data/flickr && rm training.tar.gz```
43+
```wget http://www.quest.dcs.shef.ac.uk/wmt16_files_mmt/training.tar.gz && tar -xf training.tar.gz -C data/multi30k && rm training.tar.gz```
4444

45-
```wget http://www.quest.dcs.shef.ac.uk/wmt16_files_mmt/validation.tar.gz && tar -xf validation.tar.gz -C data/flickr && rm validation.tar.gz```
45+
```wget http://www.quest.dcs.shef.ac.uk/wmt16_files_mmt/validation.tar.gz && tar -xf validation.tar.gz -C data/multi30k && rm validation.tar.gz```
4646

47-
```wget https://staff.fnwi.uva.nl/d.elliott/wmt16/mmt16_task1_test.tgz && tar -xf mmt16_task1_test.tgz -C data/flickr && rm mmt16_task1_test.tgz```
47+
```wget https://staff.fnwi.uva.nl/d.elliott/wmt16/mmt16_task1_test.tgz && tar -xf mmt16_task1_test.tgz -C data/multi30k && rm mmt16_task1_test.tgz```
4848

4949
### 1) Preprocess the data.
5050

@@ -56,24 +56,23 @@ Data might not come as clean as the demo data. Here is a second example that use
5656

5757
```wget https://github.com/moses-smt/mosesdecoder/blob/master/scripts/share/nonbreaking_prefixes/nonbreaking_prefix.en```
5858

59-
```for l in en de; do for f in data/flickr/*.$l; do if [[ "$f" != *"test"* ]]; then sed -i "$ d" $f; fi; perl tokenizer.perl -no-escape -l $l -q < $f > $f.tok; done; done```
59+
```for l in en de; do for f in data/multi30k/*.$l; do if [[ "$f" != *"test"* ]]; then sed -i "$ d" $f; fi; perl tokenizer.perl -no-escape -l $l -q < $f > $f.tok; done; done```
6060

61-
```python preprocess.py -train_src data/flickr/train.en.tok -train_tgt data/flickr/train.de.tok -valid_src data/flickr/val.en.tok -valid_tgt data/flickr/val.de.tok -save_data data/flickr```
61+
```python preprocess.py -train_src data/multi30k/train.en.tok -train_tgt data/multi30k/train.de.tok -valid_src data/multi30k/val.en.tok -valid_tgt data/multi30k/val.de.tok -save_data data/multi30k```
6262

6363
### 2) Train the model.
6464

65-
```python train.py -data data/flickr-train.pt -save_model flickr_model -gpus 0```
65+
```python train.py -data data/multi30k-train.pt -save_model multi30k_model -gpus 0```
6666

6767
### 3) Translate sentences.
6868

69-
```python translate.py -gpu 0 -model flickr_model_e7_*.pt -src data/flickr/test.en.tok -tgt data/flickr/test.de.tok -replace_unk -verbose -output flickr_pred.txt```
70-
>>>>>>> c87fc08... tips for non-demo mt via flickr30k example
69+
```python translate.py -gpu 0 -model multi30k_model_e13_*.pt -src data/multi30k/test.en.tok -tgt data/multi30k/test.de.tok -replace_unk -verbose -output multi30k_pred.txt```
7170

7271
### 4) Evaluate.
7372

7473
```wget https://raw.githubusercontent.com/moses-smt/mosesdecoder/master/scripts/generic/multi-bleu.perl```
7574

76-
```perl multi-bleu.perl data/flickr/test.de < flickr_pred.txt```
75+
```perl multi-bleu.perl data/multi30k/test.de.tok < multi30k_pred.txt```
7776

7877
## Pretrained Models
7978

OpenNMT/train.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,10 +214,10 @@ def trainEpoch(epoch):
214214
report_tgt_words += num_words
215215
report_src_words += batch[0].data.ne(onmt.Constants.PAD).sum()
216216
if i % opt.log_interval == 0 and i > 0:
217-
print("Epoch %2d, %5d/%5d; ppl: %6.2f; acc: %6.2f; %3.0f src tok/s; %3.0f tgt tok/s; %6.0f s elapsed" %
217+
print("Epoch %2d, %5d/%5d; acc: %6.2f; ppl: %6.2f; %3.0f src tok/s; %3.0f tgt tok/s; %6.0f s elapsed" %
218218
(epoch, i, len(trainData),
219-
math.exp(report_loss / report_tgt_words),
220219
num_correct / num_words * 100,
220+
math.exp(report_loss / report_tgt_words),
221221
report_src_words/(time.time()-start),
222222
report_tgt_words/(time.time()-start),
223223
time.time()-start_time))
@@ -240,7 +240,7 @@ def trainEpoch(epoch):
240240
valid_loss, valid_acc = eval(model, criterion, validData)
241241
valid_ppl = math.exp(min(valid_loss, 100))
242242
print('Validation perplexity: %g' % valid_ppl)
243-
print('Validation accuracy: %g' % valid_acc)
243+
print('Validation accuracy: %g' % (valid_acc*100))
244244

245245
# (3) maybe update the learning rate
246246
if opt.update_learning_rate:
@@ -255,7 +255,7 @@ def trainEpoch(epoch):
255255
'optim': optim,
256256
}
257257
torch.save(checkpoint,
258-
'%s_acc_%.2f_ppl_%.2f_e%d.pt' % (opt.save_model, valid_acc, valid_ppl, epoch))
258+
'%s_acc_%.2f_ppl_%.2f_e%d.pt' % (opt.save_model, 100*valid_acc, valid_ppl, epoch))
259259

260260
def main():
261261

0 commit comments

Comments
 (0)