__init__.py 27.4 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.

Sylvain Gugger's avatar
Sylvain Gugger committed
5
__version__ = "3.3.1"
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
Ola Piktus's avatar
Ola Piktus committed
57
from .configuration_rag import RagConfig
Patrick von Platen's avatar
Patrick von Platen committed
58
from .configuration_reformer import REFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, ReformerConfig
Yacine Jernite's avatar
Yacine Jernite committed
59
from .configuration_retribert import RETRIBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, RetriBertConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
60
from .configuration_roberta import ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, RobertaConfig
61
from .configuration_squeezebert import SQUEEZEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, SqueezeBertConfig
Aymeric Augustin's avatar
Aymeric Augustin committed
62
63
64
65
66
67
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
from .configuration_xlm_roberta import XLM_ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, XLMRobertaConfig
from .configuration_xlnet import XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP, XLNetConfig
68
from .data import (
Aymeric Augustin's avatar
Aymeric Augustin committed
69
    DataProcessor,
70
71
72
    InputExample,
    InputFeatures,
    SingleSentenceClassificationProcessor,
Aymeric Augustin's avatar
Aymeric Augustin committed
73
74
75
76
    SquadExample,
    SquadFeatures,
    SquadV1Processor,
    SquadV2Processor,
77
    glue_compute_metrics,
78
    glue_convert_examples_to_features,
Aymeric Augustin's avatar
Aymeric Augustin committed
79
    glue_output_modes,
80
81
    glue_processors,
    glue_tasks_num_labels,
Aymeric Augustin's avatar
Aymeric Augustin committed
82
    squad_convert_examples_to_features,
83
    xnli_compute_metrics,
84
85
86
87
    xnli_output_modes,
    xnli_processors,
    xnli_tasks_num_labels,
)
88

Aymeric Augustin's avatar
Aymeric Augustin committed
89
90
91
92
93
94
95
96
97
98
99
100
101
# Files and general utilities
from .file_utils import (
    CONFIG_NAME,
    MODEL_CARD_NAME,
    PYTORCH_PRETRAINED_BERT_CACHE,
    PYTORCH_TRANSFORMERS_CACHE,
    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
102
    is_apex_available,
103
    is_datasets_available,
Ola Piktus's avatar
Ola Piktus committed
104
    is_faiss_available,
Patrick von Platen's avatar
Patrick von Platen committed
105
106
    is_psutil_available,
    is_py3nvml_available,
107
    is_sklearn_available,
Aymeric Augustin's avatar
Aymeric Augustin committed
108
109
    is_tf_available,
    is_torch_available,
110
    is_torch_tpu_available,
Aymeric Augustin's avatar
Aymeric Augustin committed
111
)
112
from .hf_argparser import HfArgumentParser
113

thomwolf's avatar
thomwolf committed
114
# Model Cards
115
from .modelcard import ModelCard
116

Aymeric Augustin's avatar
Aymeric Augustin committed
117
118
119
120
121
122
123
124
125
126
# 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,
)
127

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

Ola Piktus's avatar
Ola Piktus committed
151
152
153
# Retriever
from .retrieval_rag import RagRetriever

Julien Chaumond's avatar
Julien Chaumond committed
154
# Tokenizers
155
from .tokenization_albert import AlbertTokenizer, AlbertTokenizerFast
156
from .tokenization_auto import TOKENIZER_MAPPING, AutoTokenizer
157
from .tokenization_bart import BartTokenizer, BartTokenizerFast
Anthony MOI's avatar
Anthony MOI committed
158
from .tokenization_bert import BasicTokenizer, BertTokenizer, BertTokenizerFast, WordpieceTokenizer
159
from .tokenization_bert_generation import BertGenerationTokenizer
Aymeric Augustin's avatar
Aymeric Augustin committed
160
from .tokenization_bert_japanese import BertJapaneseTokenizer, CharacterTokenizer, MecabTokenizer
161
from .tokenization_bertweet import BertweetTokenizer
Sam Shleifer's avatar
Sam Shleifer committed
162
from .tokenization_blenderbot import BlenderbotSmallTokenizer, BlenderbotTokenizer
163
from .tokenization_camembert import CamembertTokenizer, CamembertTokenizerFast
keskarnitish's avatar
keskarnitish committed
164
from .tokenization_ctrl import CTRLTokenizer
Pengcheng He's avatar
Pengcheng He committed
165
from .tokenization_deberta import DebertaTokenizer
166
from .tokenization_distilbert import DistilBertTokenizer, DistilBertTokenizerFast
Quentin Lhoest's avatar
Quentin Lhoest committed
167
168
169
170
171
172
173
174
from .tokenization_dpr import (
    DPRContextEncoderTokenizer,
    DPRContextEncoderTokenizerFast,
    DPRQuestionEncoderTokenizer,
    DPRQuestionEncoderTokenizerFast,
    DPRReaderTokenizer,
    DPRReaderTokenizerFast,
)
Lysandre Debut's avatar
Lysandre Debut committed
175
from .tokenization_electra import ElectraTokenizer, ElectraTokenizerFast
Hang Le's avatar
Hang Le committed
176
from .tokenization_flaubert import FlaubertTokenizer
177
from .tokenization_fsmt import FSMTTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
178
from .tokenization_funnel import FunnelTokenizer, FunnelTokenizerFast
Anthony MOI's avatar
Anthony MOI committed
179
from .tokenization_gpt2 import GPT2Tokenizer, GPT2TokenizerFast
Minghao Li's avatar
Minghao Li committed
180
from .tokenization_layoutlm import LayoutLMTokenizer, LayoutLMTokenizerFast
Suraj Patil's avatar
Suraj Patil committed
181
from .tokenization_longformer import LongformerTokenizer, LongformerTokenizerFast
182
from .tokenization_lxmert import LxmertTokenizer, LxmertTokenizerFast
183
from .tokenization_mbart import MBartTokenizer, MBartTokenizerFast
Vasily Shamporov's avatar
Vasily Shamporov committed
184
from .tokenization_mobilebert import MobileBertTokenizer, MobileBertTokenizerFast
185
from .tokenization_openai import OpenAIGPTTokenizer, OpenAIGPTTokenizerFast
186
from .tokenization_pegasus import PegasusTokenizer, PegasusTokenizerFast
187
from .tokenization_phobert import PhobertTokenizer
Ola Piktus's avatar
Ola Piktus committed
188
from .tokenization_rag import RagTokenizer
189
from .tokenization_reformer import ReformerTokenizer, ReformerTokenizerFast
Yacine Jernite's avatar
Yacine Jernite committed
190
from .tokenization_retribert import RetriBertTokenizer, RetriBertTokenizerFast
191
from .tokenization_roberta import RobertaTokenizer, RobertaTokenizerFast
192
from .tokenization_squeezebert import SqueezeBertTokenizer, SqueezeBertTokenizerFast
193
194
from .tokenization_t5 import T5Tokenizer, T5TokenizerFast
from .tokenization_transfo_xl import TransfoXLCorpus, TransfoXLTokenizer
195
196
from .tokenization_utils import PreTrainedTokenizer
from .tokenization_utils_base import (
197
    BatchEncoding,
198
199
    CharSpan,
    PreTrainedTokenizerBase,
200
201
    SpecialTokensMixin,
    TensorType,
202
    TokenSpan,
203
)
204
from .tokenization_utils_fast import PreTrainedTokenizerFast
Aymeric Augustin's avatar
Aymeric Augustin committed
205
from .tokenization_xlm import XLMTokenizer
206
207
from .tokenization_xlm_roberta import XLMRobertaTokenizer, XLMRobertaTokenizerFast
from .tokenization_xlnet import SPIECE_UNDERLINE, XLNetTokenizer, XLNetTokenizerFast
208
209

# Trainer
Sylvain Gugger's avatar
Sylvain Gugger committed
210
211
212
213
214
215
216
217
218
from .trainer_callback import (
    DefaultFlowCallback,
    PrinterCallback,
    ProgressCallback,
    TrainerCallback,
    TrainerControl,
    TrainerState,
)
from .trainer_utils import EvalPrediction, EvaluationStrategy, set_seed
219
from .training_args import TrainingArguments
Julien Plu's avatar
Julien Plu committed
220
from .training_args_tf import TFTrainingArguments
Lysandre Debut's avatar
Lysandre Debut committed
221
from .utils import logging
Aymeric Augustin's avatar
Aymeric Augustin committed
222
223


Lysandre Debut's avatar
Lysandre Debut committed
224
logger = logging.get_logger(__name__)  # pylint: disable=invalid-name
Aymeric Augustin's avatar
Aymeric Augustin committed
225
226


227
# Modeling
thomwolf's avatar
thomwolf committed
228
if is_torch_available():
229
230
231
232
233
234
    # Benchmarks
    from .benchmark.benchmark import PyTorchBenchmark
    from .benchmark.benchmark_args import PyTorchBenchmarkArguments
    from .data.data_collator import (
        DataCollator,
        DataCollatorForLanguageModeling,
235
        DataCollatorForNextSentencePrediction,
236
        DataCollatorForPermutationLanguageModeling,
237
        DataCollatorForSOP,
238
239
240
241
242
243
244
        DataCollatorWithPadding,
        default_data_collator,
    )
    from .data.datasets import (
        GlueDataset,
        GlueDataTrainingArguments,
        LineByLineTextDataset,
245
        LineByLineWithSOPTextDataset,
246
247
248
        SquadDataset,
        SquadDataTrainingArguments,
        TextDataset,
249
        TextDatasetForNextSentencePrediction,
250
    )
251
    from .generation_utils import top_k_top_p_filtering
252
253
254
255
256
257
258
259
260
261
262
263
    from .modeling_albert import (
        ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        AlbertForMaskedLM,
        AlbertForMultipleChoice,
        AlbertForPreTraining,
        AlbertForQuestionAnswering,
        AlbertForSequenceClassification,
        AlbertForTokenClassification,
        AlbertModel,
        AlbertPreTrainedModel,
        load_tf_weights_in_albert,
    )
264
    from .modeling_auto import (
265
266
        MODEL_FOR_CAUSAL_LM_MAPPING,
        MODEL_FOR_MASKED_LM_MAPPING,
267
268
269
        MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
        MODEL_FOR_PRETRAINING_MAPPING,
        MODEL_FOR_QUESTION_ANSWERING_MAPPING,
270
        MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
271
272
        MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
        MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
273
274
275
276
277
278
279
280
281
282
283
284
        MODEL_MAPPING,
        MODEL_WITH_LM_HEAD_MAPPING,
        AutoModel,
        AutoModelForCausalLM,
        AutoModelForMaskedLM,
        AutoModelForMultipleChoice,
        AutoModelForPreTraining,
        AutoModelForQuestionAnswering,
        AutoModelForSeq2SeqLM,
        AutoModelForSequenceClassification,
        AutoModelForTokenClassification,
        AutoModelWithLMHead,
285
    )
286
287
288
289
290
291
292
    from .modeling_bart import (
        BART_PRETRAINED_MODEL_ARCHIVE_LIST,
        BartForConditionalGeneration,
        BartForQuestionAnswering,
        BartForSequenceClassification,
        BartModel,
        PretrainedBartModel,
Vasily Shamporov's avatar
Vasily Shamporov committed
293
    )
294
    from .modeling_bert import (
295
        BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
296
        BertForMaskedLM,
297
        BertForMultipleChoice,
298
        BertForNextSentencePrediction,
299
300
        BertForPreTraining,
        BertForQuestionAnswering,
301
302
        BertForSequenceClassification,
        BertForTokenClassification,
Patrick von Platen's avatar
Patrick von Platen committed
303
        BertLayer,
304
305
306
307
        BertLMHeadModel,
        BertModel,
        BertPreTrainedModel,
        load_tf_weights_in_bert,
308
    )
309
310
311
312
313
    from .modeling_bert_generation import (
        BertGenerationDecoder,
        BertGenerationEncoder,
        load_tf_weights_in_bert_generation,
    )
Sam Shleifer's avatar
Sam Shleifer committed
314
    from .modeling_blenderbot import BLENDERBOT_PRETRAINED_MODEL_ARCHIVE_LIST, BlenderbotForConditionalGeneration
315
316
317
318
319
320
321
322
323
    from .modeling_camembert import (
        CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        CamembertForCausalLM,
        CamembertForMaskedLM,
        CamembertForMultipleChoice,
        CamembertForQuestionAnswering,
        CamembertForSequenceClassification,
        CamembertForTokenClassification,
        CamembertModel,
324
    )
325
    from .modeling_ctrl import CTRL_PRETRAINED_MODEL_ARCHIVE_LIST, CTRLLMHeadModel, CTRLModel, CTRLPreTrainedModel
Pengcheng He's avatar
Pengcheng He committed
326
327
328
329
330
331
    from .modeling_deberta import (
        DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
        DebertaForSequenceClassification,
        DebertaModel,
        DebertaPreTrainedModel,
    )
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
    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,
372
    )
373
    from .modeling_fsmt import FSMTForConditionalGeneration, FSMTModel, PretrainedFSMTModel
Sylvain Gugger's avatar
Sylvain Gugger committed
374
375
376
377
378
379
380
381
382
383
384
385
    from .modeling_funnel import (
        FUNNEL_PRETRAINED_MODEL_ARCHIVE_LIST,
        FunnelBaseModel,
        FunnelForMaskedLM,
        FunnelForMultipleChoice,
        FunnelForPreTraining,
        FunnelForQuestionAnswering,
        FunnelForSequenceClassification,
        FunnelForTokenClassification,
        FunnelModel,
        load_tf_weights_in_funnel,
    )
386
    from .modeling_gpt2 import (
387
        GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
388
        GPT2DoubleHeadsModel,
389
        GPT2ForSequenceClassification,
390
391
392
        GPT2LMHeadModel,
        GPT2Model,
        GPT2PreTrainedModel,
393
394
        load_tf_weights_in_gpt2,
    )
Minghao Li's avatar
Minghao Li committed
395
396
397
398
399
400
    from .modeling_layoutlm import (
        LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST,
        LayoutLMForMaskedLM,
        LayoutLMForTokenClassification,
        LayoutLMModel,
    )
401
402
403
404
405
406
407
408
409
    from .modeling_longformer import (
        LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
        LongformerForMaskedLM,
        LongformerForMultipleChoice,
        LongformerForQuestionAnswering,
        LongformerForSequenceClassification,
        LongformerForTokenClassification,
        LongformerModel,
        LongformerSelfAttention,
410
    )
411
412
413
414
415
416
417
418
419
    from .modeling_lxmert import (
        LxmertEncoder,
        LxmertForPreTraining,
        LxmertForQuestionAnswering,
        LxmertModel,
        LxmertPreTrainedModel,
        LxmertVisualFeatureEncoder,
        LxmertXLayer,
    )
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
    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,
440
        OpenAIGPTForSequenceClassification,
441
442
443
444
        OpenAIGPTLMHeadModel,
        OpenAIGPTModel,
        OpenAIGPTPreTrainedModel,
        load_tf_weights_in_openai_gpt,
445
    )
446
    from .modeling_pegasus import PegasusForConditionalGeneration
Ola Piktus's avatar
Ola Piktus committed
447
    from .modeling_rag import RagModel, RagSequenceForGeneration, RagTokenForGeneration
448
449
450
451
452
453
454
455
456
    from .modeling_reformer import (
        REFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
        ReformerAttention,
        ReformerForMaskedLM,
        ReformerForQuestionAnswering,
        ReformerForSequenceClassification,
        ReformerLayer,
        ReformerModel,
        ReformerModelWithLMHead,
457
    )
458
    from .modeling_retribert import RETRIBERT_PRETRAINED_MODEL_ARCHIVE_LIST, RetriBertModel, RetriBertPreTrainedModel
459
    from .modeling_roberta import (
460
        ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
461
        RobertaForCausalLM,
462
        RobertaForMaskedLM,
463
464
        RobertaForMultipleChoice,
        RobertaForQuestionAnswering,
465
466
467
        RobertaForSequenceClassification,
        RobertaForTokenClassification,
        RobertaModel,
468
    )
469
470
471
472
473
474
475
476
477
478
479
    from .modeling_squeezebert import (
        SQUEEZEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        SqueezeBertForMaskedLM,
        SqueezeBertForMultipleChoice,
        SqueezeBertForQuestionAnswering,
        SqueezeBertForSequenceClassification,
        SqueezeBertForTokenClassification,
        SqueezeBertModel,
        SqueezeBertModule,
        SqueezeBertPreTrainedModel,
    )
480
    from .modeling_t5 import (
481
        T5_PRETRAINED_MODEL_ARCHIVE_LIST,
482
        T5ForConditionalGeneration,
483
484
        T5Model,
        T5PreTrainedModel,
485
486
        load_tf_weights_in_t5,
    )
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
    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,
506
507
    )
    from .modeling_xlm_roberta import (
508
        XLM_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
509
        XLMRobertaForCausalLM,
510
511
        XLMRobertaForMaskedLM,
        XLMRobertaForMultipleChoice,
512
        XLMRobertaForQuestionAnswering,
513
514
        XLMRobertaForSequenceClassification,
        XLMRobertaForTokenClassification,
515
        XLMRobertaModel,
Quentin Lhoest's avatar
Quentin Lhoest committed
516
    )
517
518
519
520
521
522
523
524
525
526
527
    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
528
529
    )

thomwolf's avatar
thomwolf committed
530
    # Optimization
531
    from .optimization import (
532
        Adafactor,
533
534
535
536
537
538
        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,
539
        get_polynomial_decay_schedule_with_warmup,
540
    )
541
    from .tokenization_marian import MarianTokenizer
thomwolf's avatar
thomwolf committed
542

Julien Chaumond's avatar
Julien Chaumond committed
543
    # Trainer
Sylvain Gugger's avatar
Sylvain Gugger committed
544
545
    from .trainer import Trainer
    from .trainer_pt_utils import torch_distributed_zero_first
546
547
else:
    from .utils.dummy_pt_objects import *
548

thomwolf's avatar
thomwolf committed
549
# TensorFlow
thomwolf's avatar
thomwolf committed
550
if is_tf_available():
551
552
553
554
    from .benchmark.benchmark_args_tf import TensorFlowBenchmarkArguments

    # Benchmarks
    from .benchmark.benchmark_tf import TensorFlowBenchmark
555
    from .generation_tf_utils import tf_top_k_top_p_filtering
556
557
558
559
560
561
562
563
564
565
566
    from .modeling_tf_albert import (
        TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFAlbertForMaskedLM,
        TFAlbertForMultipleChoice,
        TFAlbertForPreTraining,
        TFAlbertForQuestionAnswering,
        TFAlbertForSequenceClassification,
        TFAlbertForTokenClassification,
        TFAlbertMainLayer,
        TFAlbertModel,
        TFAlbertPreTrainedModel,
567
    )
568
    from .modeling_tf_auto import (
569
570
        TF_MODEL_FOR_CAUSAL_LM_MAPPING,
        TF_MODEL_FOR_MASKED_LM_MAPPING,
Julien Plu's avatar
Julien Plu committed
571
        TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
572
573
        TF_MODEL_FOR_PRETRAINING_MAPPING,
        TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
574
        TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
Julien Plu's avatar
Julien Plu committed
575
        TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
576
        TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
577
        TF_MODEL_MAPPING,
Julien Plu's avatar
Julien Plu committed
578
579
        TF_MODEL_WITH_LM_HEAD_MAPPING,
        TFAutoModel,
580
581
        TFAutoModelForCausalLM,
        TFAutoModelForMaskedLM,
Julien Plu's avatar
Julien Plu committed
582
583
584
        TFAutoModelForMultipleChoice,
        TFAutoModelForPreTraining,
        TFAutoModelForQuestionAnswering,
585
        TFAutoModelForSeq2SeqLM,
Julien Plu's avatar
Julien Plu committed
586
587
588
        TFAutoModelForSequenceClassification,
        TFAutoModelForTokenClassification,
        TFAutoModelWithLMHead,
589
590
    )
    from .modeling_tf_bert import (
Julien Plu's avatar
Julien Plu committed
591
        TF_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
592
593
        TFBertEmbeddings,
        TFBertForMaskedLM,
Julien Plu's avatar
Julien Plu committed
594
        TFBertForMultipleChoice,
595
        TFBertForNextSentencePrediction,
Julien Plu's avatar
Julien Plu committed
596
597
        TFBertForPreTraining,
        TFBertForQuestionAnswering,
598
599
        TFBertForSequenceClassification,
        TFBertForTokenClassification,
600
        TFBertLMHeadModel,
Julien Plu's avatar
Julien Plu committed
601
602
603
        TFBertMainLayer,
        TFBertModel,
        TFBertPreTrainedModel,
604
    )
Julien Plu's avatar
Julien Plu committed
605
606
607
608
609
610
611
    from .modeling_tf_camembert import (
        TF_CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFCamembertForMaskedLM,
        TFCamembertForMultipleChoice,
        TFCamembertForQuestionAnswering,
        TFCamembertForSequenceClassification,
        TFCamembertForTokenClassification,
612
        TFCamembertModel,
613
    )
Julien Plu's avatar
Julien Plu committed
614
615
616
617
618
    from .modeling_tf_ctrl import (
        TF_CTRL_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFCTRLLMHeadModel,
        TFCTRLModel,
        TFCTRLPreTrainedModel,
619
    )
Julien Plu's avatar
Julien Plu committed
620
621
622
623
624
625
626
627
628
629
    from .modeling_tf_distilbert import (
        TF_DISTILBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFDistilBertForMaskedLM,
        TFDistilBertForMultipleChoice,
        TFDistilBertForQuestionAnswering,
        TFDistilBertForSequenceClassification,
        TFDistilBertForTokenClassification,
        TFDistilBertMainLayer,
        TFDistilBertModel,
        TFDistilBertPreTrainedModel,
630
    )
Julien Plu's avatar
Julien Plu committed
631
632
633
    from .modeling_tf_electra import (
        TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFElectraForMaskedLM,
634
        TFElectraForMultipleChoice,
Julien Plu's avatar
Julien Plu committed
635
636
        TFElectraForPreTraining,
        TFElectraForQuestionAnswering,
637
        TFElectraForSequenceClassification,
Julien Plu's avatar
Julien Plu committed
638
639
640
        TFElectraForTokenClassification,
        TFElectraModel,
        TFElectraPreTrainedModel,
641
    )
Julien Plu's avatar
Julien Plu committed
642
643
644
645
646
647
648
    from .modeling_tf_flaubert import (
        TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFFlaubertForMultipleChoice,
        TFFlaubertForQuestionAnsweringSimple,
        TFFlaubertForSequenceClassification,
        TFFlaubertForTokenClassification,
        TFFlaubertModel,
649
        TFFlaubertWithLMHeadModel,
650
    )
651
652
653
654
655
656
657
658
659
660
661
    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
662
663
664
665
666
667
668
669
    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
670
671
672
673
    from .modeling_tf_longformer import (
        TF_LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFLongformerForMaskedLM,
        TFLongformerForQuestionAnswering,
674
        TFLongformerModel,
Patrick von Platen's avatar
Patrick von Platen committed
675
676
        TFLongformerSelfAttention,
    )
677
678
679
680
681
682
683
684
    from .modeling_tf_lxmert import (
        TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFLxmertForPreTraining,
        TFLxmertMainLayer,
        TFLxmertModel,
        TFLxmertPreTrainedModel,
        TFLxmertVisualFeatureEncoder,
    )
Vasily Shamporov's avatar
Vasily Shamporov committed
685
686
687
688
    from .modeling_tf_mobilebert import (
        TF_MOBILEBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFMobileBertForMaskedLM,
        TFMobileBertForMultipleChoice,
689
690
691
692
        TFMobileBertForNextSentencePrediction,
        TFMobileBertForPreTraining,
        TFMobileBertForQuestionAnswering,
        TFMobileBertForSequenceClassification,
Vasily Shamporov's avatar
Vasily Shamporov committed
693
694
        TFMobileBertForTokenClassification,
        TFMobileBertMainLayer,
695
696
        TFMobileBertModel,
        TFMobileBertPreTrainedModel,
Vasily Shamporov's avatar
Vasily Shamporov committed
697
    )
Julien Plu's avatar
Julien Plu committed
698
699
700
701
702
703
704
    from .modeling_tf_openai import (
        TF_OPENAI_GPT_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFOpenAIGPTDoubleHeadsModel,
        TFOpenAIGPTLMHeadModel,
        TFOpenAIGPTMainLayer,
        TFOpenAIGPTModel,
        TFOpenAIGPTPreTrainedModel,
Julien Plu's avatar
Julien Plu committed
705
    )
706
    from .modeling_tf_roberta import (
Julien Plu's avatar
Julien Plu committed
707
        TF_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
708
        TFRobertaForMaskedLM,
Julien Plu's avatar
Julien Plu committed
709
710
        TFRobertaForMultipleChoice,
        TFRobertaForQuestionAnswering,
711
712
        TFRobertaForSequenceClassification,
        TFRobertaForTokenClassification,
Julien Plu's avatar
Julien Plu committed
713
714
715
        TFRobertaMainLayer,
        TFRobertaModel,
        TFRobertaPreTrainedModel,
716
    )
Julien Plu's avatar
Julien Plu committed
717
718
719
720
721
    from .modeling_tf_t5 import (
        TF_T5_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFT5ForConditionalGeneration,
        TFT5Model,
        TFT5PreTrainedModel,
722
    )
Julien Plu's avatar
Julien Plu committed
723
724
725
726
727
728
729
    from .modeling_tf_transfo_xl import (
        TF_TRANSFO_XL_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFAdaptiveEmbedding,
        TFTransfoXLLMHeadModel,
        TFTransfoXLMainLayer,
        TFTransfoXLModel,
        TFTransfoXLPreTrainedModel,
730
    )
731
    from .modeling_tf_utils import TFPreTrainedModel, TFSequenceSummary, TFSharedEmbeddings, shape_list
Julien Plu's avatar
Julien Plu committed
732
733
734
735
736
737
738
739
740
    from .modeling_tf_xlm import (
        TF_XLM_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFXLMForMultipleChoice,
        TFXLMForQuestionAnsweringSimple,
        TFXLMForSequenceClassification,
        TFXLMForTokenClassification,
        TFXLMMainLayer,
        TFXLMModel,
        TFXLMPreTrainedModel,
741
        TFXLMWithLMHeadModel,
742
    )
Julien Plu's avatar
Julien Plu committed
743
744
745
746
747
748
749
750
    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
751
    )
Julien Plu's avatar
Julien Plu committed
752
753
754
755
756
757
758
759
760
761
    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
762
763
    )

764
    # Optimization
765
    from .optimization_tf import AdamWeightDecay, GradientAccumulator, WarmUp, create_optimizer
Lysandre's avatar
Lysandre committed
766

Julien Plu's avatar
Julien Plu committed
767
768
769
    # Trainer
    from .trainer_tf import TFTrainer

770
771
772
773
774
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 *

775

776
if not is_tf_available() and not is_torch_available():
777
778
779
780
781
    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."
    )