/usr/local/lib/python3.6/site-packages/transformers/utils/__pycache__
Edit: /usr/local/lib/python3.6/site-packages/transformers/utils/__pycache__/fx.cpython-36.pyc (17976B)
3
EgZ @ s d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm Z m
Z
mZmZm
Z
mZ d dlZd dlmZ d dlmZ d dlmZmZmZmZmZ d dlmZ dd lmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, dd
l-m.Z. ddl/m0Z0m1Z1 ddl2m3Z3 e,j4e5Z6d7e
e) eee7ee7 f ee
e* d
ddZ8dddddddddddgZ9g Z:x:e9D ]2Z;e
e8f e; ne:j>e8e; qnW e(gZ?e@eAeBeCe:e? dd dZDG dd deZEed ef ed ef d!d"d#ZFe7e e7ed ef f ed ef d$d%d&ZGeEe7e7eHd'd(d)ZIe e7ed ef f d*d+d,ZJd8eKeKeeeK d/d0d1ZLG d2d3 d3eZMd9e*eee7 ed4d5d6ZNdS ): N)
ModuleType)AnyCallableDictIterableListOptionalTypeUnion)version)nn)GraphGraphModuleNodeProxyTracer)Argument )CONFIG_MAPPINGMODEL_FOR_CAUSAL_LM_MAPPING&MODEL_FOR_IMAGE_CLASSIFICATION_MAPPINGMODEL_FOR_MASKED_LM_MAPPING!MODEL_FOR_MULTIPLE_CHOICE_MAPPING*MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPINGMODEL_FOR_PRETRAINING_MAPPING$MODEL_FOR_QUESTION_ANSWERING_MAPPING&MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING)MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING&MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING
MODEL_MAPPINGGPT2DoubleHeadsModelPretrainedConfigPreTrainedModelXLNetForQuestionAnsweringlogging)
get_values)TORCH_FX_REQUIRED_VERSIONis_torch_fx_available)importlib_metadata)
model_namesupported_tasksreturnc C sx t | }ttttttttt t
td}|d kr4|j }t
|trD|g}g }x*|D ]"}|| j|d }|rN|j| qNW |S )N)defaultZpretrainingznext-sentence-predictionz masked-lmz causal-lmz
seq2seq-lmzmultiple-choicezquestion-answeringzsequence-classificationztoken-classificationzimage-classification)r r r r r r r r r r r r keys
isinstancestrgetappend)r) r* Zmodel_config_classZtask_mappingZ
model_classestaskmodel_class r4 ?/usr/local/lib/python3.6/site-packages/transformers/utils/fx.py!_generate_supported_model_classes8 s,
r6 ZalbertZbertZ
distilbertZ
mobilebertZelectraz
megatron-bertZgpt2ZgptjZgpt_neoZt5Zrobertac C s | j S )N)__name__)cr4 r4 r5 x s r9 )keyc sx e Zd ZdZdeee d fdd
Zedd Z dd Z
d
d Z fdd
Zdd Z
fddZd fdd Z ZS )HFProxyz
Proxy that is able to provide the proper ranks, shapes and boolean values during symbolic tracing by implementing
the dim, size and __bool__ methods. It can be easily extended by either adding new methods or extending the
existing ones.
N)nodetracerc sN t j||d t| drJ| jd k rJ| jjj| _t| jjj j| _d | _ d S )N)r= r= )
super__init__hasattrr= rootdevicenext
parametersdtypecache)selfr<