__init__.py 30.3 KB
Newer Older
1
2
3
4
# flake8: noqa
# There's no way to ignore "F401 '...' imported but unused" warnings in this
# module, but to preserve other warnings. So, don't check this module at all.

Lysandre's avatar
Lysandre committed
5
__version__ = "3.4.0"
thomwolf's avatar
thomwolf committed
6

thomwolf's avatar
thomwolf committed
7
8
9
10
11
12
# Work around to update TensorFlow's absl.logging threshold which alters the
# default Python logging output behavior when present.
# see: https://github.com/abseil/abseil-py/issues/99
# and: https://github.com/tensorflow/tensorflow/issues/26691#issuecomment-500369493
try:
    import absl.logging
13
14
15
except ImportError:
    pass
else:
16
17
    absl.logging.set_verbosity("info")
    absl.logging.set_stderrthreshold("info")
thomwolf's avatar
thomwolf committed
18
    absl.logging._warn_preinit_stderr = False
19

20
21
22
23
24
25
26
27
28
29
# Integrations: this needs to come before other ml imports
# in order to allow any 3rd-party code to initialize properly
from .integrations import (  # isort:skip
    is_comet_available,
    is_optuna_available,
    is_ray_available,
    is_tensorboard_available,
    is_wandb_available,
)

Julien Chaumond's avatar
Julien Chaumond committed
30
# Configurations
Aymeric Augustin's avatar
Aymeric Augustin committed
31
from .configuration_albert import ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, AlbertConfig
32
from .configuration_auto import ALL_PRETRAINED_CONFIG_ARCHIVE_MAP, CONFIG_MAPPING, AutoConfig
33
from .configuration_bart import BartConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
34
from .configuration_bert import BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, BertConfig
35
from .configuration_bert_generation import BertGenerationConfig
Sam Shleifer's avatar
Sam Shleifer committed
36
from .configuration_blenderbot import BLENDERBOT_PRETRAINED_CONFIG_ARCHIVE_MAP, BlenderbotConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
37
38
from .configuration_camembert import CAMEMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, CamembertConfig
from .configuration_ctrl import CTRL_PRETRAINED_CONFIG_ARCHIVE_MAP, CTRLConfig
Pengcheng He's avatar
Pengcheng He committed
39
from .configuration_deberta import DEBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, DebertaConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
40
from .configuration_distilbert import DISTILBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, DistilBertConfig
Quentin Lhoest's avatar
Quentin Lhoest committed
41
from .configuration_dpr import DPR_PRETRAINED_CONFIG_ARCHIVE_MAP, DPRConfig
Lysandre Debut's avatar
Lysandre Debut committed
42
from .configuration_electra import ELECTRA_PRETRAINED_CONFIG_ARCHIVE_MAP, ElectraConfig
43
from .configuration_encoder_decoder import EncoderDecoderConfig
Hang Le's avatar
Hang Le committed
44
from .configuration_flaubert import FLAUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, FlaubertConfig
45
from .configuration_fsmt import FSMT_PRETRAINED_CONFIG_ARCHIVE_MAP, FSMTConfig
Sylvain Gugger's avatar
Sylvain Gugger committed
46
from .configuration_funnel import FUNNEL_PRETRAINED_CONFIG_ARCHIVE_MAP, FunnelConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
47
from .configuration_gpt2 import GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP, GPT2Config
Minghao Li's avatar
Minghao Li committed
48
from .configuration_layoutlm import LAYOUTLM_PRETRAINED_CONFIG_ARCHIVE_MAP, LayoutLMConfig
Iz Beltagy's avatar
Iz Beltagy committed
49
from .configuration_longformer import LONGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, LongformerConfig
50
from .configuration_lxmert import LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP, LxmertConfig
51
from .configuration_marian import MarianConfig
52
from .configuration_mbart import MBartConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
53
from .configuration_mmbt import MMBTConfig
Vasily Shamporov's avatar
Vasily Shamporov committed
54
from .configuration_mobilebert import MOBILEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, MobileBertConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
55
from .configuration_openai import OPENAI_GPT_PRETRAINED_CONFIG_ARCHIVE_MAP, OpenAIGPTConfig
56
from .configuration_pegasus import PegasusConfig
Weizhen's avatar
Weizhen committed
57
from .configuration_prophetnet import PROPHETNET_PRETRAINED_CONFIG_ARCHIVE_MAP, ProphetNetConfig
Ola Piktus's avatar
Ola Piktus committed
58
from .configuration_rag import RagConfig
Patrick von Platen's avatar
Patrick von Platen committed
59
from .configuration_reformer import REFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, ReformerConfig
Yacine Jernite's avatar
Yacine Jernite committed
60
from .configuration_retribert import RETRIBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, RetriBertConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
61
from .configuration_roberta import ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, RobertaConfig
62
from .configuration_squeezebert import SQUEEZEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, SqueezeBertConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
63
64
65
66
from .configuration_t5 import T5_PRETRAINED_CONFIG_ARCHIVE_MAP, T5Config
from .configuration_transfo_xl import TRANSFO_XL_PRETRAINED_CONFIG_ARCHIVE_MAP, TransfoXLConfig
from .configuration_utils import PretrainedConfig
from .configuration_xlm import XLM_PRETRAINED_CONFIG_ARCHIVE_MAP, XLMConfig
Weizhen's avatar
Weizhen committed
67
from .configuration_xlm_prophetnet import XLM_PROPHETNET_PRETRAINED_CONFIG_ARCHIVE_MAP, XLMProphetNetConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
68
69
from .configuration_xlm_roberta import XLM_ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, XLMRobertaConfig
from .configuration_xlnet import XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP, XLNetConfig
70
from .data import (
Aymeric Augustin's avatar
Aymeric Augustin committed
71
    DataProcessor,
72
73
74
    InputExample,
    InputFeatures,
    SingleSentenceClassificationProcessor,
Aymeric Augustin's avatar
Aymeric Augustin committed
75
76
77
78
    SquadExample,
    SquadFeatures,
    SquadV1Processor,
    SquadV2Processor,
79
    glue_compute_metrics,
80
    glue_convert_examples_to_features,
Aymeric Augustin's avatar
Aymeric Augustin committed
81
    glue_output_modes,
82
83
    glue_processors,
    glue_tasks_num_labels,
Aymeric Augustin's avatar
Aymeric Augustin committed
84
    squad_convert_examples_to_features,
85
    xnli_compute_metrics,
86
87
88
89
    xnli_output_modes,
    xnli_processors,
    xnli_tasks_num_labels,
)
90

Aymeric Augustin's avatar
Aymeric Augustin committed
91
92
93
94
95
96
# Files and general utilities
from .file_utils import (
    CONFIG_NAME,
    MODEL_CARD_NAME,
    PYTORCH_PRETRAINED_BERT_CACHE,
    PYTORCH_TRANSFORMERS_CACHE,
97
    SPIECE_UNDERLINE,
Aymeric Augustin's avatar
Aymeric Augustin committed
98
99
100
101
102
103
104
    TF2_WEIGHTS_NAME,
    TF_WEIGHTS_NAME,
    TRANSFORMERS_CACHE,
    WEIGHTS_NAME,
    add_end_docstrings,
    add_start_docstrings,
    cached_path,
Patrick von Platen's avatar
Patrick von Platen committed
105
    is_apex_available,
106
    is_datasets_available,
Ola Piktus's avatar
Ola Piktus committed
107
    is_faiss_available,
108
    is_flax_available,
Patrick von Platen's avatar
Patrick von Platen committed
109
110
    is_psutil_available,
    is_py3nvml_available,
111
    is_sentencepiece_available,
112
    is_sklearn_available,
Aymeric Augustin's avatar
Aymeric Augustin committed
113
    is_tf_available,
114
    is_tokenizers_available,
Aymeric Augustin's avatar
Aymeric Augustin committed
115
    is_torch_available,
116
    is_torch_tpu_available,
Aymeric Augustin's avatar
Aymeric Augustin committed
117
)
118
from .hf_argparser import HfArgumentParser
119

thomwolf's avatar
thomwolf committed
120
# Model Cards
121
from .modelcard import ModelCard
122

Aymeric Augustin's avatar
Aymeric Augustin committed
123
124
125
126
127
128
129
130
131
132
# TF 2.0 <=> PyTorch conversion utilities
from .modeling_tf_pytorch_utils import (
    convert_tf_weight_name_to_pt_weight_name,
    load_pytorch_checkpoint_in_tf2_model,
    load_pytorch_model_in_tf2_model,
    load_pytorch_weights_in_tf2_model,
    load_tf2_checkpoint_in_pytorch_model,
    load_tf2_model_in_pytorch_model,
    load_tf2_weights_in_pytorch_model,
)
133

Aymeric Augustin's avatar
Aymeric Augustin committed
134
135
# Pipelines
from .pipelines import (
136
137
    Conversation,
    ConversationalPipeline,
Aymeric Augustin's avatar
Aymeric Augustin committed
138
139
    CsvPipelineDataFormat,
    FeatureExtractionPipeline,
Julien Chaumond's avatar
Julien Chaumond committed
140
    FillMaskPipeline,
Aymeric Augustin's avatar
Aymeric Augustin committed
141
142
143
144
145
146
    JsonPipelineDataFormat,
    NerPipeline,
    PipedPipelineDataFormat,
    Pipeline,
    PipelineDataFormat,
    QuestionAnsweringPipeline,
147
    SummarizationPipeline,
148
    Text2TextGenerationPipeline,
Aymeric Augustin's avatar
Aymeric Augustin committed
149
    TextClassificationPipeline,
150
    TextGenerationPipeline,
151
    TokenClassificationPipeline,
152
    TranslationPipeline,
153
    ZeroShotClassificationPipeline,
Aymeric Augustin's avatar
Aymeric Augustin committed
154
155
    pipeline,
)
Julien Chaumond's avatar
Julien Chaumond committed
156

Ola Piktus's avatar
Ola Piktus committed
157
158
159
# Retriever
from .retrieval_rag import RagRetriever

Julien Chaumond's avatar
Julien Chaumond committed
160
# Tokenizers
161
from .tokenization_auto import TOKENIZER_MAPPING, AutoTokenizer
162
163
from .tokenization_bart import BartTokenizer
from .tokenization_bert import BasicTokenizer, BertTokenizer, WordpieceTokenizer
Aymeric Augustin's avatar
Aymeric Augustin committed
164
from .tokenization_bert_japanese import BertJapaneseTokenizer, CharacterTokenizer, MecabTokenizer
165
from .tokenization_bertweet import BertweetTokenizer
Sam Shleifer's avatar
Sam Shleifer committed
166
from .tokenization_blenderbot import BlenderbotSmallTokenizer, BlenderbotTokenizer
keskarnitish's avatar
keskarnitish committed
167
from .tokenization_ctrl import CTRLTokenizer
Pengcheng He's avatar
Pengcheng He committed
168
from .tokenization_deberta import DebertaTokenizer
169
from .tokenization_distilbert import DistilBertTokenizer
Quentin Lhoest's avatar
Quentin Lhoest committed
170
171
172
from .tokenization_dpr import (
    DPRContextEncoderTokenizer,
    DPRQuestionEncoderTokenizer,
173
    DPRReaderOutput,
Quentin Lhoest's avatar
Quentin Lhoest committed
174
175
    DPRReaderTokenizer,
)
176
from .tokenization_electra import ElectraTokenizer
Hang Le's avatar
Hang Le committed
177
from .tokenization_flaubert import FlaubertTokenizer
178
from .tokenization_fsmt import FSMTTokenizer
179
180
181
182
183
184
185
186
from .tokenization_funnel import FunnelTokenizer
from .tokenization_gpt2 import GPT2Tokenizer
from .tokenization_herbert import HerbertTokenizer
from .tokenization_layoutlm import LayoutLMTokenizer
from .tokenization_longformer import LongformerTokenizer
from .tokenization_lxmert import LxmertTokenizer
from .tokenization_mobilebert import MobileBertTokenizer
from .tokenization_openai import OpenAIGPTTokenizer
187
from .tokenization_phobert import PhobertTokenizer
Weizhen's avatar
Weizhen committed
188
from .tokenization_prophetnet import ProphetNetTokenizer
Ola Piktus's avatar
Ola Piktus committed
189
from .tokenization_rag import RagTokenizer
190
191
192
from .tokenization_retribert import RetriBertTokenizer
from .tokenization_roberta import RobertaTokenizer
from .tokenization_squeezebert import SqueezeBertTokenizer
193
from .tokenization_transfo_xl import TransfoXLCorpus, TransfoXLTokenizer
194
195
from .tokenization_utils import PreTrainedTokenizer
from .tokenization_utils_base import (
196
    AddedToken,
197
    BatchEncoding,
198
199
    CharSpan,
    PreTrainedTokenizerBase,
200
201
    SpecialTokensMixin,
    TensorType,
202
    TokenSpan,
203
)
Aymeric Augustin's avatar
Aymeric Augustin committed
204
from .tokenization_xlm import XLMTokenizer
205
206
207
208
209
210
211
212
213
214
215


if is_sentencepiece_available():
    from .tokenization_albert import AlbertTokenizer
    from .tokenization_bert_generation import BertGenerationTokenizer
    from .tokenization_camembert import CamembertTokenizer
    from .tokenization_marian import MarianTokenizer
    from .tokenization_mbart import MBartTokenizer
    from .tokenization_pegasus import PegasusTokenizer
    from .tokenization_reformer import ReformerTokenizer
    from .tokenization_t5 import T5Tokenizer
Weizhen's avatar
Weizhen committed
216
    from .tokenization_xlm_prophetnet import XLMProphetNetTokenizer
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
    from .tokenization_xlm_roberta import XLMRobertaTokenizer
    from .tokenization_xlnet import XLNetTokenizer
else:
    from .utils.dummy_sentencepiece_objects import *

if is_tokenizers_available():
    from .tokenization_albert_fast import AlbertTokenizerFast
    from .tokenization_bart_fast import BartTokenizerFast
    from .tokenization_bert_fast import BertTokenizerFast
    from .tokenization_camembert_fast import CamembertTokenizerFast
    from .tokenization_distilbert_fast import DistilBertTokenizerFast
    from .tokenization_dpr_fast import (
        DPRContextEncoderTokenizerFast,
        DPRQuestionEncoderTokenizerFast,
        DPRReaderTokenizerFast,
    )
    from .tokenization_electra_fast import ElectraTokenizerFast
    from .tokenization_funnel_fast import FunnelTokenizerFast
    from .tokenization_gpt2_fast import GPT2TokenizerFast
    from .tokenization_herbert_fast import HerbertTokenizerFast
    from .tokenization_layoutlm_fast import LayoutLMTokenizerFast
    from .tokenization_longformer_fast import LongformerTokenizerFast
    from .tokenization_lxmert_fast import LxmertTokenizerFast
    from .tokenization_mbart_fast import MBartTokenizerFast
    from .tokenization_mobilebert_fast import MobileBertTokenizerFast
    from .tokenization_openai_fast import OpenAIGPTTokenizerFast
    from .tokenization_pegasus_fast import PegasusTokenizerFast
    from .tokenization_reformer_fast import ReformerTokenizerFast
    from .tokenization_retribert_fast import RetriBertTokenizerFast
    from .tokenization_roberta_fast import RobertaTokenizerFast
    from .tokenization_squeezebert_fast import SqueezeBertTokenizerFast
    from .tokenization_t5_fast import T5TokenizerFast
    from .tokenization_utils_fast import PreTrainedTokenizerFast
    from .tokenization_xlm_roberta_fast import XLMRobertaTokenizerFast
    from .tokenization_xlnet_fast import XLNetTokenizerFast

    if is_sentencepiece_available():
        from .convert_slow_tokenizer import SLOW_TO_FAST_CONVERTERS, convert_slow_tokenizer
else:
    from .utils.dummy_tokenizers_objects import *

258
# Trainer
Sylvain Gugger's avatar
Sylvain Gugger committed
259
260
261
262
263
264
265
266
267
from .trainer_callback import (
    DefaultFlowCallback,
    PrinterCallback,
    ProgressCallback,
    TrainerCallback,
    TrainerControl,
    TrainerState,
)
from .trainer_utils import EvalPrediction, EvaluationStrategy, set_seed
268
from .training_args import TrainingArguments
Julien Plu's avatar
Julien Plu committed
269
from .training_args_tf import TFTrainingArguments
Lysandre Debut's avatar
Lysandre Debut committed
270
from .utils import logging
Aymeric Augustin's avatar
Aymeric Augustin committed
271
272


Lysandre Debut's avatar
Lysandre Debut committed
273
logger = logging.get_logger(__name__)  # pylint: disable=invalid-name
Aymeric Augustin's avatar
Aymeric Augustin committed
274
275


276
# Modeling
thomwolf's avatar
thomwolf committed
277
if is_torch_available():
278
279
280
281
282
283
    # Benchmarks
    from .benchmark.benchmark import PyTorchBenchmark
    from .benchmark.benchmark_args import PyTorchBenchmarkArguments
    from .data.data_collator import (
        DataCollator,
        DataCollatorForLanguageModeling,
284
        DataCollatorForNextSentencePrediction,
285
        DataCollatorForPermutationLanguageModeling,
286
        DataCollatorForSOP,
287
288
289
290
291
292
293
        DataCollatorWithPadding,
        default_data_collator,
    )
    from .data.datasets import (
        GlueDataset,
        GlueDataTrainingArguments,
        LineByLineTextDataset,
294
        LineByLineWithSOPTextDataset,
295
296
297
        SquadDataset,
        SquadDataTrainingArguments,
        TextDataset,
298
        TextDatasetForNextSentencePrediction,
299
    )
300
    from .generation_utils import top_k_top_p_filtering
301
302
303
304
305
306
307
308
309
310
311
312
    from .modeling_albert import (
        ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        AlbertForMaskedLM,
        AlbertForMultipleChoice,
        AlbertForPreTraining,
        AlbertForQuestionAnswering,
        AlbertForSequenceClassification,
        AlbertForTokenClassification,
        AlbertModel,
        AlbertPreTrainedModel,
        load_tf_weights_in_albert,
    )
313
    from .modeling_auto import (
314
315
        MODEL_FOR_CAUSAL_LM_MAPPING,
        MODEL_FOR_MASKED_LM_MAPPING,
316
317
318
        MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
        MODEL_FOR_PRETRAINING_MAPPING,
        MODEL_FOR_QUESTION_ANSWERING_MAPPING,
319
        MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
320
321
        MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
        MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
322
323
324
325
326
327
328
329
330
331
332
333
        MODEL_MAPPING,
        MODEL_WITH_LM_HEAD_MAPPING,
        AutoModel,
        AutoModelForCausalLM,
        AutoModelForMaskedLM,
        AutoModelForMultipleChoice,
        AutoModelForPreTraining,
        AutoModelForQuestionAnswering,
        AutoModelForSeq2SeqLM,
        AutoModelForSequenceClassification,
        AutoModelForTokenClassification,
        AutoModelWithLMHead,
334
    )
335
336
337
338
339
340
341
    from .modeling_bart import (
        BART_PRETRAINED_MODEL_ARCHIVE_LIST,
        BartForConditionalGeneration,
        BartForQuestionAnswering,
        BartForSequenceClassification,
        BartModel,
        PretrainedBartModel,
Vasily Shamporov's avatar
Vasily Shamporov committed
342
    )
343
    from .modeling_bert import (
344
        BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
345
        BertForMaskedLM,
346
        BertForMultipleChoice,
347
        BertForNextSentencePrediction,
348
349
        BertForPreTraining,
        BertForQuestionAnswering,
350
351
        BertForSequenceClassification,
        BertForTokenClassification,
Patrick von Platen's avatar
Patrick von Platen committed
352
        BertLayer,
353
354
355
356
        BertLMHeadModel,
        BertModel,
        BertPreTrainedModel,
        load_tf_weights_in_bert,
357
    )
358
359
360
361
362
    from .modeling_bert_generation import (
        BertGenerationDecoder,
        BertGenerationEncoder,
        load_tf_weights_in_bert_generation,
    )
Sam Shleifer's avatar
Sam Shleifer committed
363
    from .modeling_blenderbot import BLENDERBOT_PRETRAINED_MODEL_ARCHIVE_LIST, BlenderbotForConditionalGeneration
364
365
366
367
368
369
370
371
372
    from .modeling_camembert import (
        CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        CamembertForCausalLM,
        CamembertForMaskedLM,
        CamembertForMultipleChoice,
        CamembertForQuestionAnswering,
        CamembertForSequenceClassification,
        CamembertForTokenClassification,
        CamembertModel,
373
    )
374
    from .modeling_ctrl import CTRL_PRETRAINED_MODEL_ARCHIVE_LIST, CTRLLMHeadModel, CTRLModel, CTRLPreTrainedModel
Pengcheng He's avatar
Pengcheng He committed
375
376
377
378
379
380
    from .modeling_deberta import (
        DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
        DebertaForSequenceClassification,
        DebertaModel,
        DebertaPreTrainedModel,
    )
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
    from .modeling_distilbert import (
        DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        DistilBertForMaskedLM,
        DistilBertForMultipleChoice,
        DistilBertForQuestionAnswering,
        DistilBertForSequenceClassification,
        DistilBertForTokenClassification,
        DistilBertModel,
        DistilBertPreTrainedModel,
    )
    from .modeling_dpr import (
        DPRContextEncoder,
        DPRPretrainedContextEncoder,
        DPRPretrainedQuestionEncoder,
        DPRPretrainedReader,
        DPRQuestionEncoder,
        DPRReader,
    )
    from .modeling_electra import (
        ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
        ElectraForMaskedLM,
        ElectraForMultipleChoice,
        ElectraForPreTraining,
        ElectraForQuestionAnswering,
        ElectraForSequenceClassification,
        ElectraForTokenClassification,
        ElectraModel,
        ElectraPreTrainedModel,
        load_tf_weights_in_electra,
    )
    from .modeling_encoder_decoder import EncoderDecoderModel
    from .modeling_flaubert import (
        FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        FlaubertForMultipleChoice,
        FlaubertForQuestionAnswering,
        FlaubertForQuestionAnsweringSimple,
        FlaubertForSequenceClassification,
        FlaubertForTokenClassification,
        FlaubertModel,
        FlaubertWithLMHeadModel,
421
    )
422
    from .modeling_fsmt import FSMTForConditionalGeneration, FSMTModel, PretrainedFSMTModel
Sylvain Gugger's avatar
Sylvain Gugger committed
423
424
425
426
427
428
429
430
431
432
433
434
    from .modeling_funnel import (
        FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
        FunnelBaseModel,
        FunnelForMaskedLM,
        FunnelForMultipleChoice,
        FunnelForPreTraining,
        FunnelForQuestionAnswering,
        FunnelForSequenceClassification,
        FunnelForTokenClassification,
        FunnelModel,
        load_tf_weights_in_funnel,
    )
435
    from .modeling_gpt2 import (
436
        GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
437
        GPT2DoubleHeadsModel,
438
        GPT2ForSequenceClassification,
439
440
441
        GPT2LMHeadModel,
        GPT2Model,
        GPT2PreTrainedModel,
442
443
        load_tf_weights_in_gpt2,
    )
Minghao Li's avatar
Minghao Li committed
444
445
446
447
448
449
    from .modeling_layoutlm import (
        LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST,
        LayoutLMForMaskedLM,
        LayoutLMForTokenClassification,
        LayoutLMModel,
    )
450
451
452
453
454
455
456
457
458
    from .modeling_longformer import (
        LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
        LongformerForMaskedLM,
        LongformerForMultipleChoice,
        LongformerForQuestionAnswering,
        LongformerForSequenceClassification,
        LongformerForTokenClassification,
        LongformerModel,
        LongformerSelfAttention,
459
    )
460
461
462
463
464
465
466
467
468
    from .modeling_lxmert import (
        LxmertEncoder,
        LxmertForPreTraining,
        LxmertForQuestionAnswering,
        LxmertModel,
        LxmertPreTrainedModel,
        LxmertVisualFeatureEncoder,
        LxmertXLayer,
    )
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
    from .modeling_marian import MarianMTModel
    from .modeling_mbart import MBartForConditionalGeneration
    from .modeling_mmbt import MMBTForClassification, MMBTModel, ModalEmbeddings
    from .modeling_mobilebert import (
        MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        MobileBertForMaskedLM,
        MobileBertForMultipleChoice,
        MobileBertForNextSentencePrediction,
        MobileBertForPreTraining,
        MobileBertForQuestionAnswering,
        MobileBertForSequenceClassification,
        MobileBertForTokenClassification,
        MobileBertLayer,
        MobileBertModel,
        MobileBertPreTrainedModel,
        load_tf_weights_in_mobilebert,
    )
    from .modeling_openai import (
        OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
        OpenAIGPTDoubleHeadsModel,
489
        OpenAIGPTForSequenceClassification,
490
491
492
493
        OpenAIGPTLMHeadModel,
        OpenAIGPTModel,
        OpenAIGPTPreTrainedModel,
        load_tf_weights_in_openai_gpt,
494
    )
495
    from .modeling_pegasus import PegasusForConditionalGeneration
Weizhen's avatar
Weizhen committed
496
497
498
499
500
501
502
503
504
    from .modeling_prophetnet import (
        PROPHETNET_PRETRAINED_MODEL_ARCHIVE_LIST,
        ProphetNetDecoder,
        ProphetNetEncoder,
        ProphetNetForCausalLM,
        ProphetNetForConditionalGeneration,
        ProphetNetModel,
        ProphetNetPreTrainedModel,
    )
Ola Piktus's avatar
Ola Piktus committed
505
    from .modeling_rag import RagModel, RagSequenceForGeneration, RagTokenForGeneration
506
507
508
509
510
511
512
513
514
    from .modeling_reformer import (
        REFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
        ReformerAttention,
        ReformerForMaskedLM,
        ReformerForQuestionAnswering,
        ReformerForSequenceClassification,
        ReformerLayer,
        ReformerModel,
        ReformerModelWithLMHead,
515
    )
516
    from .modeling_retribert import RETRIBERT_PRETRAINED_MODEL_ARCHIVE_LIST, RetriBertModel, RetriBertPreTrainedModel
517
    from .modeling_roberta import (
518
        ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
519
        RobertaForCausalLM,
520
        RobertaForMaskedLM,
521
522
        RobertaForMultipleChoice,
        RobertaForQuestionAnswering,
523
524
525
        RobertaForSequenceClassification,
        RobertaForTokenClassification,
        RobertaModel,
526
    )
527
528
529
530
531
532
533
534
535
536
537
    from .modeling_squeezebert import (
        SQUEEZEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        SqueezeBertForMaskedLM,
        SqueezeBertForMultipleChoice,
        SqueezeBertForQuestionAnswering,
        SqueezeBertForSequenceClassification,
        SqueezeBertForTokenClassification,
        SqueezeBertModel,
        SqueezeBertModule,
        SqueezeBertPreTrainedModel,
    )
538
    from .modeling_t5 import (
539
        T5_PRETRAINED_MODEL_ARCHIVE_LIST,
540
        T5ForConditionalGeneration,
541
542
        T5Model,
        T5PreTrainedModel,
543
544
        load_tf_weights_in_t5,
    )
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
    from .modeling_transfo_xl import (
        TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_LIST,
        AdaptiveEmbedding,
        TransfoXLLMHeadModel,
        TransfoXLModel,
        TransfoXLPreTrainedModel,
        load_tf_weights_in_transfo_xl,
    )
    from .modeling_utils import Conv1D, PreTrainedModel, apply_chunking_to_forward, prune_layer
    from .modeling_xlm import (
        XLM_PRETRAINED_MODEL_ARCHIVE_LIST,
        XLMForMultipleChoice,
        XLMForQuestionAnswering,
        XLMForQuestionAnsweringSimple,
        XLMForSequenceClassification,
        XLMForTokenClassification,
        XLMModel,
        XLMPreTrainedModel,
        XLMWithLMHeadModel,
564
    )
Weizhen's avatar
Weizhen committed
565
566
567
568
569
570
571
572
    from .modeling_xlm_prophetnet import (
        XLM_PROPHETNET_PRETRAINED_MODEL_ARCHIVE_LIST,
        XLMProphetNetDecoder,
        XLMProphetNetEncoder,
        XLMProphetNetForCausalLM,
        XLMProphetNetForConditionalGeneration,
        XLMProphetNetModel,
    )
573
    from .modeling_xlm_roberta import (
574
        XLM_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
575
        XLMRobertaForCausalLM,
576
577
        XLMRobertaForMaskedLM,
        XLMRobertaForMultipleChoice,
578
        XLMRobertaForQuestionAnswering,
579
580
        XLMRobertaForSequenceClassification,
        XLMRobertaForTokenClassification,
581
        XLMRobertaModel,
Quentin Lhoest's avatar
Quentin Lhoest committed
582
    )
583
584
585
586
587
588
589
590
591
592
593
    from .modeling_xlnet import (
        XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
        XLNetForMultipleChoice,
        XLNetForQuestionAnswering,
        XLNetForQuestionAnsweringSimple,
        XLNetForSequenceClassification,
        XLNetForTokenClassification,
        XLNetLMHeadModel,
        XLNetModel,
        XLNetPreTrainedModel,
        load_tf_weights_in_xlnet,
Yacine Jernite's avatar
Yacine Jernite committed
594
595
    )

thomwolf's avatar
thomwolf committed
596
    # Optimization
597
    from .optimization import (
598
        Adafactor,
599
600
601
602
603
604
        AdamW,
        get_constant_schedule,
        get_constant_schedule_with_warmup,
        get_cosine_schedule_with_warmup,
        get_cosine_with_hard_restarts_schedule_with_warmup,
        get_linear_schedule_with_warmup,
605
        get_polynomial_decay_schedule_with_warmup,
606
    )
thomwolf's avatar
thomwolf committed
607

Julien Chaumond's avatar
Julien Chaumond committed
608
    # Trainer
Sylvain Gugger's avatar
Sylvain Gugger committed
609
610
    from .trainer import Trainer
    from .trainer_pt_utils import torch_distributed_zero_first
611
612
else:
    from .utils.dummy_pt_objects import *
613

thomwolf's avatar
thomwolf committed
614
# TensorFlow
thomwolf's avatar
thomwolf committed
615
if is_tf_available():
616
617
618
619
    from .benchmark.benchmark_args_tf import TensorFlowBenchmarkArguments

    # Benchmarks
    from .benchmark.benchmark_tf import TensorFlowBenchmark
620
    from .generation_tf_utils import tf_top_k_top_p_filtering
621
622
623
624
625
626
627
628
629
630
631
    from .modeling_tf_albert import (
        TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFAlbertForMaskedLM,
        TFAlbertForMultipleChoice,
        TFAlbertForPreTraining,
        TFAlbertForQuestionAnswering,
        TFAlbertForSequenceClassification,
        TFAlbertForTokenClassification,
        TFAlbertMainLayer,
        TFAlbertModel,
        TFAlbertPreTrainedModel,
632
    )
633
    from .modeling_tf_auto import (
634
635
        TF_MODEL_FOR_CAUSAL_LM_MAPPING,
        TF_MODEL_FOR_MASKED_LM_MAPPING,
Julien Plu's avatar
Julien Plu committed
636
        TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
637
638
        TF_MODEL_FOR_PRETRAINING_MAPPING,
        TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
639
        TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
Julien Plu's avatar
Julien Plu committed
640
        TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
641
        TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
642
        TF_MODEL_MAPPING,
Julien Plu's avatar
Julien Plu committed
643
644
        TF_MODEL_WITH_LM_HEAD_MAPPING,
        TFAutoModel,
645
646
        TFAutoModelForCausalLM,
        TFAutoModelForMaskedLM,
Julien Plu's avatar
Julien Plu committed
647
648
649
        TFAutoModelForMultipleChoice,
        TFAutoModelForPreTraining,
        TFAutoModelForQuestionAnswering,
650
        TFAutoModelForSeq2SeqLM,
Julien Plu's avatar
Julien Plu committed
651
652
653
        TFAutoModelForSequenceClassification,
        TFAutoModelForTokenClassification,
        TFAutoModelWithLMHead,
654
    )
655
    from .modeling_tf_bart import TFBartForConditionalGeneration, TFBartModel
656
    from .modeling_tf_bert import (
Julien Plu's avatar
Julien Plu committed
657
        TF_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
658
659
        TFBertEmbeddings,
        TFBertForMaskedLM,
Julien Plu's avatar
Julien Plu committed
660
        TFBertForMultipleChoice,
661
        TFBertForNextSentencePrediction,
Julien Plu's avatar
Julien Plu committed
662
663
        TFBertForPreTraining,
        TFBertForQuestionAnswering,
664
665
        TFBertForSequenceClassification,
        TFBertForTokenClassification,
666
        TFBertLMHeadModel,
Julien Plu's avatar
Julien Plu committed
667
668
669
        TFBertMainLayer,
        TFBertModel,
        TFBertPreTrainedModel,
670
    )
Julien Plu's avatar
Julien Plu committed
671
672
673
674
675
676
677
    from .modeling_tf_camembert import (
        TF_CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFCamembertForMaskedLM,
        TFCamembertForMultipleChoice,
        TFCamembertForQuestionAnswering,
        TFCamembertForSequenceClassification,
        TFCamembertForTokenClassification,
678
        TFCamembertModel,
679
    )
Julien Plu's avatar
Julien Plu committed
680
681
682
683
684
    from .modeling_tf_ctrl import (
        TF_CTRL_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFCTRLLMHeadModel,
        TFCTRLModel,
        TFCTRLPreTrainedModel,
685
    )
Julien Plu's avatar
Julien Plu committed
686
687
688
689
690
691
692
693
694
695
    from .modeling_tf_distilbert import (
        TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFDistilBertForMaskedLM,
        TFDistilBertForMultipleChoice,
        TFDistilBertForQuestionAnswering,
        TFDistilBertForSequenceClassification,
        TFDistilBertForTokenClassification,
        TFDistilBertMainLayer,
        TFDistilBertModel,
        TFDistilBertPreTrainedModel,
696
    )
Julien Plu's avatar
Julien Plu committed
697
698
699
    from .modeling_tf_electra import (
        TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFElectraForMaskedLM,
700
        TFElectraForMultipleChoice,
Julien Plu's avatar
Julien Plu committed
701
702
        TFElectraForPreTraining,
        TFElectraForQuestionAnswering,
703
        TFElectraForSequenceClassification,
Julien Plu's avatar
Julien Plu committed
704
705
706
        TFElectraForTokenClassification,
        TFElectraModel,
        TFElectraPreTrainedModel,
707
    )
Julien Plu's avatar
Julien Plu committed
708
709
710
711
712
713
714
    from .modeling_tf_flaubert import (
        TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFFlaubertForMultipleChoice,
        TFFlaubertForQuestionAnsweringSimple,
        TFFlaubertForSequenceClassification,
        TFFlaubertForTokenClassification,
        TFFlaubertModel,
715
        TFFlaubertWithLMHeadModel,
716
    )
717
718
719
720
721
722
723
724
725
726
727
    from .modeling_tf_funnel import (
        TF_FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFFunnelBaseModel,
        TFFunnelForMaskedLM,
        TFFunnelForMultipleChoice,
        TFFunnelForPreTraining,
        TFFunnelForQuestionAnswering,
        TFFunnelForSequenceClassification,
        TFFunnelForTokenClassification,
        TFFunnelModel,
    )
Julien Plu's avatar
Julien Plu committed
728
729
730
731
732
733
734
735
    from .modeling_tf_gpt2 import (
        TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFGPT2DoubleHeadsModel,
        TFGPT2LMHeadModel,
        TFGPT2MainLayer,
        TFGPT2Model,
        TFGPT2PreTrainedModel,
    )
Patrick von Platen's avatar
Patrick von Platen committed
736
737
738
739
    from .modeling_tf_longformer import (
        TF_LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFLongformerForMaskedLM,
        TFLongformerForQuestionAnswering,
740
        TFLongformerModel,
Patrick von Platen's avatar
Patrick von Platen committed
741
742
        TFLongformerSelfAttention,
    )
743
744
745
746
747
748
749
750
    from .modeling_tf_lxmert import (
        TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFLxmertForPreTraining,
        TFLxmertMainLayer,
        TFLxmertModel,
        TFLxmertPreTrainedModel,
        TFLxmertVisualFeatureEncoder,
    )
Vasily Shamporov's avatar
Vasily Shamporov committed
751
752
753
754
    from .modeling_tf_mobilebert import (
        TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFMobileBertForMaskedLM,
        TFMobileBertForMultipleChoice,
755
756
757
758
        TFMobileBertForNextSentencePrediction,
        TFMobileBertForPreTraining,
        TFMobileBertForQuestionAnswering,
        TFMobileBertForSequenceClassification,
Vasily Shamporov's avatar
Vasily Shamporov committed
759
760
        TFMobileBertForTokenClassification,
        TFMobileBertMainLayer,
761
762
        TFMobileBertModel,
        TFMobileBertPreTrainedModel,
Vasily Shamporov's avatar
Vasily Shamporov committed
763
    )
Julien Plu's avatar
Julien Plu committed
764
765
766
767
768
769
770
    from .modeling_tf_openai import (
        TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFOpenAIGPTDoubleHeadsModel,
        TFOpenAIGPTLMHeadModel,
        TFOpenAIGPTMainLayer,
        TFOpenAIGPTModel,
        TFOpenAIGPTPreTrainedModel,
Julien Plu's avatar
Julien Plu committed
771
    )
772
    from .modeling_tf_roberta import (
Julien Plu's avatar
Julien Plu committed
773
        TF_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
774
        TFRobertaForMaskedLM,
Julien Plu's avatar
Julien Plu committed
775
776
        TFRobertaForMultipleChoice,
        TFRobertaForQuestionAnswering,
777
778
        TFRobertaForSequenceClassification,
        TFRobertaForTokenClassification,
Julien Plu's avatar
Julien Plu committed
779
780
781
        TFRobertaMainLayer,
        TFRobertaModel,
        TFRobertaPreTrainedModel,
782
    )
Julien Plu's avatar
Julien Plu committed
783
784
785
786
787
    from .modeling_tf_t5 import (
        TF_T5_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFT5ForConditionalGeneration,
        TFT5Model,
        TFT5PreTrainedModel,
788
    )
Julien Plu's avatar
Julien Plu committed
789
790
791
792
793
794
795
    from .modeling_tf_transfo_xl import (
        TF_TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFAdaptiveEmbedding,
        TFTransfoXLLMHeadModel,
        TFTransfoXLMainLayer,
        TFTransfoXLModel,
        TFTransfoXLPreTrainedModel,
796
    )
797
    from .modeling_tf_utils import TFPreTrainedModel, TFSequenceSummary, TFSharedEmbeddings, shape_list
Julien Plu's avatar
Julien Plu committed
798
799
800
801
802
803
804
805
806
    from .modeling_tf_xlm import (
        TF_XLM_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFXLMForMultipleChoice,
        TFXLMForQuestionAnsweringSimple,
        TFXLMForSequenceClassification,
        TFXLMForTokenClassification,
        TFXLMMainLayer,
        TFXLMModel,
        TFXLMPreTrainedModel,
807
        TFXLMWithLMHeadModel,
808
    )
Julien Plu's avatar
Julien Plu committed
809
810
811
812
813
814
815
816
    from .modeling_tf_xlm_roberta import (
        TF_XLM_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFXLMRobertaForMaskedLM,
        TFXLMRobertaForMultipleChoice,
        TFXLMRobertaForQuestionAnswering,
        TFXLMRobertaForSequenceClassification,
        TFXLMRobertaForTokenClassification,
        TFXLMRobertaModel,
Julien Plu's avatar
Julien Plu committed
817
    )
Julien Plu's avatar
Julien Plu committed
818
819
820
821
822
823
824
825
826
827
    from .modeling_tf_xlnet import (
        TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFXLNetForMultipleChoice,
        TFXLNetForQuestionAnsweringSimple,
        TFXLNetForSequenceClassification,
        TFXLNetForTokenClassification,
        TFXLNetLMHeadModel,
        TFXLNetMainLayer,
        TFXLNetModel,
        TFXLNetPreTrainedModel,
Lysandre Debut's avatar
Lysandre Debut committed
828
829
    )

830
    # Optimization
831
    from .optimization_tf import AdamWeightDecay, GradientAccumulator, WarmUp, create_optimizer
Lysandre's avatar
Lysandre committed
832

Julien Plu's avatar
Julien Plu committed
833
834
835
    # Trainer
    from .trainer_tf import TFTrainer

836
837
838
839
840
else:
    # Import the same objects as dummies to get them in the namespace.
    # They will raise an import error if the user tries to instantiate / use them.
    from .utils.dummy_tf_objects import *

841

842
843
844
if is_flax_available():
    from .modeling_flax_bert import FlaxBertModel
    from .modeling_flax_roberta import FlaxRobertaModel
845
846
847
848
849
else:
    # Import the same objects as dummies to get them in the namespace.
    # They will raise an import error if the user tries to instantiate / use them.
    from .utils.dummy_flax_objects import *

850

851
if not is_tf_available() and not is_torch_available():
852
853
854
855
856
    logger.warning(
        "Neither PyTorch nor TensorFlow >= 2.0 have been found."
        "Models won't be available and only tokenizers, configuration"
        "and file/data utilities can be used."
    )