Clean Encoder-Decoder models with Bart/T5-like API and add generate possibility (#3383)

* change encoder decoder style to bart & t5 style

* make encoder decoder generation dummy work for bert

* make style

* clean init config in encoder decoder

* add tests for encoder decoder models

* refactor and add last tests

* refactor and add last tests

* fix attn masks for bert encoder decoder

* make style

* refactor prepare inputs for Bert

* refactor

* finish encoder decoder

* correct typo

* add docstring to config

* finish

* add tests

* better naming

* make style

* fix flake8

* clean docstring

* make style

* rename
This commit is contained in:
Patrick von Platen
2020-04-28 15:11:09 +02:00
committed by GitHub
parent 180585741c
commit fa49b9afea
11 changed files with 676 additions and 195 deletions

View File

@@ -1011,7 +1011,14 @@ class PreTrainedModel(nn.Module, ModuleUtilsMixin):
pad_token_id = eos_token_id
# current position and vocab size
vocab_size = self.config.vocab_size
if hasattr(self.config, "vocab_size"):
vocab_size = self.config.vocab_size
elif (
self.config.is_encoder_decoder
and hasattr(self.config, "decoder")
and hasattr(self.config.decoder, "vocab_size")
):
vocab_size = self.config.decoder.vocab_size
# set effective batch size and effective batch multiplier according to do_sample
if do_sample: