Fast imports part 3 (#9474)
* New intermediate inits * Update template * Avoid importing torch/tf/flax in tokenization unless necessary * Styling * Shutup flake8 * Better python version check
This commit is contained in:
@@ -16,38 +16,103 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from ...file_utils import is_flax_available, is_tf_available, is_tokenizers_available, is_torch_available
|
||||
from .configuration_roberta import ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, RobertaConfig
|
||||
from .tokenization_roberta import RobertaTokenizer
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from ...file_utils import (
|
||||
_BaseLazyModule,
|
||||
is_flax_available,
|
||||
is_tf_available,
|
||||
is_tokenizers_available,
|
||||
is_torch_available,
|
||||
)
|
||||
|
||||
|
||||
_import_structure = {
|
||||
"configuration_roberta": ["ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP", "RobertaConfig"],
|
||||
"tokenization_roberta": ["RobertaTokenizer"],
|
||||
}
|
||||
|
||||
if is_tokenizers_available():
|
||||
from .tokenization_roberta_fast import RobertaTokenizerFast
|
||||
_import_structure["tokenization_roberta_fast"] = ["RobertaTokenizerFast"]
|
||||
|
||||
if is_torch_available():
|
||||
from .modeling_roberta import (
|
||||
ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
|
||||
RobertaForCausalLM,
|
||||
RobertaForMaskedLM,
|
||||
RobertaForMultipleChoice,
|
||||
RobertaForQuestionAnswering,
|
||||
RobertaForSequenceClassification,
|
||||
RobertaForTokenClassification,
|
||||
RobertaModel,
|
||||
)
|
||||
_import_structure["modeling_roberta"] = [
|
||||
"ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST",
|
||||
"RobertaForCausalLM",
|
||||
"RobertaForMaskedLM",
|
||||
"RobertaForMultipleChoice",
|
||||
"RobertaForQuestionAnswering",
|
||||
"RobertaForSequenceClassification",
|
||||
"RobertaForTokenClassification",
|
||||
"RobertaModel",
|
||||
]
|
||||
|
||||
if is_tf_available():
|
||||
from .modeling_tf_roberta import (
|
||||
TF_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
|
||||
TFRobertaForMaskedLM,
|
||||
TFRobertaForMultipleChoice,
|
||||
TFRobertaForQuestionAnswering,
|
||||
TFRobertaForSequenceClassification,
|
||||
TFRobertaForTokenClassification,
|
||||
TFRobertaMainLayer,
|
||||
TFRobertaModel,
|
||||
TFRobertaPreTrainedModel,
|
||||
)
|
||||
_import_structure["modeling_tf_roberta"] = [
|
||||
"TF_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST",
|
||||
"TFRobertaForMaskedLM",
|
||||
"TFRobertaForMultipleChoice",
|
||||
"TFRobertaForQuestionAnswering",
|
||||
"TFRobertaForSequenceClassification",
|
||||
"TFRobertaForTokenClassification",
|
||||
"TFRobertaMainLayer",
|
||||
"TFRobertaModel",
|
||||
"TFRobertaPreTrainedModel",
|
||||
]
|
||||
|
||||
if is_flax_available():
|
||||
from .modeling_flax_roberta import FlaxRobertaModel
|
||||
_import_structure["modeling_flax_roberta"] = ["FlaxRobertaModel"]
|
||||
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .configuration_roberta import ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, RobertaConfig
|
||||
from .tokenization_roberta import RobertaTokenizer
|
||||
|
||||
if is_tokenizers_available():
|
||||
from .tokenization_roberta_fast import RobertaTokenizerFast
|
||||
|
||||
if is_torch_available():
|
||||
from .modeling_roberta import (
|
||||
ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
|
||||
RobertaForCausalLM,
|
||||
RobertaForMaskedLM,
|
||||
RobertaForMultipleChoice,
|
||||
RobertaForQuestionAnswering,
|
||||
RobertaForSequenceClassification,
|
||||
RobertaForTokenClassification,
|
||||
RobertaModel,
|
||||
)
|
||||
|
||||
if is_tf_available():
|
||||
from .modeling_tf_roberta import (
|
||||
TF_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
|
||||
TFRobertaForMaskedLM,
|
||||
TFRobertaForMultipleChoice,
|
||||
TFRobertaForQuestionAnswering,
|
||||
TFRobertaForSequenceClassification,
|
||||
TFRobertaForTokenClassification,
|
||||
TFRobertaMainLayer,
|
||||
TFRobertaModel,
|
||||
TFRobertaPreTrainedModel,
|
||||
)
|
||||
|
||||
if is_flax_available():
|
||||
from .modeling_flax_roberta import FlaxRobertaModel
|
||||
|
||||
else:
|
||||
import importlib
|
||||
import os
|
||||
import sys
|
||||
|
||||
class _LazyModule(_BaseLazyModule):
|
||||
"""
|
||||
Module class that surfaces all objects but only performs associated imports when the objects are requested.
|
||||
"""
|
||||
|
||||
__file__ = globals()["__file__"]
|
||||
__path__ = [os.path.dirname(__file__)]
|
||||
|
||||
def _get_module(self, module_name: str):
|
||||
return importlib.import_module("." + module_name, self.__name__)
|
||||
|
||||
sys.modules[__name__] = _LazyModule(__name__, _import_structure)
|
||||
|
||||
Reference in New Issue
Block a user