Как запустить Tutorial: Simple LSTM на fairseq

Пытаясь изучить fairseq, я следил за обучающими материалами на веб-сайте и внедрял:

https://fairseq.readthedocs.io/en/latest/tutorial_simple_lstm.html#training-the-model

Однако после выполнения всех шагов, когда я пытаюсь обучить модель, используя следующее:

! fairseq-train data-bin/iwslt14.tokenized.de-en \ --arch tutorial_simple_lstm \ --encoder-dropout 0.2 --decoder-dropout 0.2 \ --optimizer adam --lr 0.005 --lr-shrink 0.5 \ --max-tokens 12000

Я получаю сообщение об ошибке:

`fairseq-train: error: argument --arch/-a: invalid choice: 'tutorial_simple_lstm' (choose from 'fconv', 'fconv_iwslt_de_en', 'fconv_wmt_en_ro', 'fconv_wmt_en_de', 'fconv_wmt_en_fr', 'fconv_lm', 'fconv_lm_dauphin_wikitext103', 'fconv_lm_dauphin_gbw', 'transformer', 'transformer_iwslt_de_en', 'transformer_wmt_en_de', 'transformer_vaswani_wmt_en_de_big', 'transformer_vaswani_wmt_en_fr_big', 'transformer_wmt_en_de_big', 'transformer_wmt_en_de_big_t2t', 'bart_large', 'bart_base', 'mbart_large', 'mbart_base', 'mbart_base_wmt20', 'nonautoregressive_transformer', 'nonautoregressive_transformer_wmt_en_de', 'nacrf_transformer', 'iterative_nonautoregressive_transformer', 'iterative_nonautoregressive_transformer_wmt_en_de', 'cmlm_transformer', 'cmlm_transformer_wmt_en_de', 'levenshtein_transformer', 'levenshtein_transformer_wmt_en_de', 'levenshtein_transformer_vaswani_wmt_en_de_big',....

Дополнительная информация: я использую Google Colab. И я пишу весь код до тех пор, пока поезд не войдет в.py-файл и не загрузит его по пути fairseq/models/... в соответствии с моей интерпретацией инструкций. Я следую точному руководству по ссылке. И, прежде чем запускать его на colab, я устанавливаю fairseq, используя:

!git clone https://github.com/pytorch/fairseq %cd fairseq !pip install --editable ./

Я думаю, что эта ошибка возникает из-за того, что аргумент командной строки, созданный в соответствии с руководством, не был установлен должным образом.

Может ли кто-нибудь объяснить, нужно ли на каком-либо этапе сделать что-то еще.

Я был бы признателен за ваш вклад, так как для начинающих такая помощь сообщества имеет большое значение.

2 ответа

Похоже, вы не зарегистрировали архитектуру SimpleLSTMModel следующим образом. После регистрации модели вы можете использовать ее с существующими инструментами командной строки.

      @register_model('simple_lstm')
class SimpleLSTMModel(FairseqEncoderDecoderModel):
...
.
.
...

Обратите внимание, что копирование файлов .py не означает, что вы зарегистрировали модель. Для этого вам нужно выполнить файл .py, который включает вышеупомянутые строки кода. Затем вы сможете запустить процесс обучения, используя существующие инструменты командной строки.

Вы должны поместить свой .py в:

fairseq/fairseq/models

не fairseq/models

Другие вопросы по тегам