| 36 | return self.transformer.word_embeddings(input_ids) + self.type_embeddings(kwargs["token_type_ids"]) |
| 37 | |
| 38 | class BertModel(BaseModel): |
| 39 | def __init__(self, args, transformer=None, **kwargs): |
| 40 | super(BertModel, self).__init__(args, transformer=transformer, activation_func=gelu, **kwargs) |
| 41 | self.add_mixin("bert-final", BertFinalMixin(args.vocab_size, args.hidden_size)) |
| 42 | self.add_mixin("bert-type", BertTypeMixin(args.num_types, args.hidden_size)) |
| 43 | |
| 44 | |
| 45 | @classmethod |
| 46 | def add_model_specific_args(cls, parser): |
| 47 | group = parser.add_argument_group('BERT', 'BERT Configurations') |
| 48 | group.add_argument('--num-types', type=int, default=2, help='Number of token types') |
| 49 | return super().add_model_specific_args(parser) |
no outgoing calls