o
    i                     @   s:   d Z ddlm  mZ ddlmZ G dd dZe ZdS )zGlobals used internally by the ONNX exporter.

Do not use this module outside of `torch.onnx` and its tests.

Be very judicious when adding any new global variables. Do not create new global
variables unless they are absolutely necessary.
    N)
_constantsc                   @   s   e Zd ZdZdd Zedd Zejdej	fddZede
fd	d
Zejde
fdd
ZedefddZejdefddZedefddZejdefddZdS )_InternalGlobalszGlobals used internally by ONNX exporter.

    NOTE: Be very judicious when adding any new variables. Do not create new
    global variables unless they are absolutely necessary.
    c                 C   s8   t j| _tjj| _d| _d| _tj	j
| _d| _d| _d S )NFT)r   ZONNX_DEFAULT_OPSET_export_onnx_opset_version_C_onnxTrainingModeZEVAL_training_mode_in_onnx_exportZexport_trainingZOperatorExportTypesZONNXZoperator_export_typeZonnx_shape_inference_autograd_inliningself r   b/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/torch/onnx/_globals.py__init__   s   

z_InternalGlobals.__init__c                 C      | j S )z#The training mode for the exporter.)r   r
   r   r   r   training_mode"      z_InternalGlobals.training_moder   c                 C   s   t |tjs
td|| _d S )Nz\training_mode must be of type 'torch.onnx.TrainingMode'. This is likely a bug in torch.onnx.)
isinstancer   r   	TypeErrorr   )r   r   r   r   r   r   '   s
   
returnc                 C   r   )z!Opset version used during export.)r   r
   r   r   r   export_onnx_opset_version0   r   z*_InternalGlobals.export_onnx_opset_versionvaluec                 C   s2   t tjtjd }||vrtd| || _d S )N   z Unsupported ONNX opset version: )ranger   ZONNX_MIN_OPSETZONNX_MAX_OPSET
ValueErrorr   )r   r   Zsupported_versionsr   r   r   r   5   s   
c                 C   r   )z+Whether it is in the middle of ONNX export.)r   r
   r   r   r   in_onnx_export>   r   z_InternalGlobals.in_onnx_exportc                 C      t |tur
td|| _d S )Nz in_onnx_export must be a boolean)typeboolr   r   r   r   r   r   r   r   C      
c                 C   r   )z!Whether Autograd must be inlined.)r	   r
   r   r   r   autograd_inliningI   r   z"_InternalGlobals.autograd_inliningc                 C   r   )Nz#autograd_inlining must be a boolean)r   r   r   r	   r   r   r   r   r    N   r   N)__name__
__module____qualname____doc__r   propertyr   setterr   r   intr   r   r   r    r   r   r   r   r      s&    
r   )	r$   Ztorch._C._onnxZ_CZ_onnxr   Z
torch.onnxr   r   ZGLOBALSr   r   r   r   <module>   s
    
F