o
    zi                     @   s   d dl Z d dlmZ d dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ dd	d
ZG dd deZG dd deZG dd de
ZG dd de
ZG dd de
ZdddZe  e  eejj dS )    N)Any)_StrategyRegistry)XLAAccelerator)XLAPrecision)SingleDeviceXLAStrategy)rank_zero_deprecationreturnc                  C   s@   t jt } | t jd< | t jd< | t jd< | t jd< | t jd< d S )Nz'pytorch_lightning.strategies.single_tpuz"pytorch_lightning.accelerators.tpuz'pytorch_lightning.plugins.precision.tpuz,pytorch_lightning.plugins.precision.tpu_bf16z+pytorch_lightning.plugins.precision.xlabf16)sysmodules__name__)self r   T/home/ubuntu/.local/lib/python3.10/site-packages/pytorch_lightning/_graveyard/tpu.py_patch_sys_modules   s   




r   c                       sD   e Zd ZdZdededdf fddZededdfd	d
Z  Z	S )SingleTPUStrategyzoLegacy class.

    Use :class:`~pytorch_lightning.strategies.single_xla.SingleDeviceXLAStrategy` instead.

    argskwargsr   Nc                       t d t j|i | d S )NzBThe 'single_tpu' strategy is deprecated. Use 'single_xla' instead.r   super__init__r   r   r   	__class__r   r   r   *   s   zSingleTPUStrategy.__init__strategy_registryc                 C   s    d|vr|j d| dd d S d S )N
single_tpuz'Legacy class. Use `single_xla` instead.)description)register)clsr   r   r   r   register_strategies.   s   z%SingleTPUStrategy.register_strategies)
r   
__module____qualname____doc__r   r   classmethodr   r   __classcell__r   r   r   r   r   #   s
    r   c                       .   e Zd ZdZdededdf fddZ  ZS )TPUAcceleratorzaLegacy class.

    Use :class:`~pytorch_lightning.accelerators.xla.XLAAccelerator` instead.

    r   r   r   Nc                    r   )NzfThe `TPUAccelerator` class is deprecated. Use `pytorch_lightning.accelerators.XLAAccelerator` instead.r   r   r   r   r   r   ;   s   zTPUAccelerator.__init__r   r    r!   r"   r   r   r$   r   r   r   r   r&   4       "r&   c                       r%   )TPUPrecisionPluginzdLegacy class.

    Use :class:`~pytorch_lightning.plugins.precision.xla.XLAPrecision` instead.

    r   r   r   Nc                       t d t jdd d S )NzmThe `TPUPrecisionPlugin` class is deprecated. Use `pytorch_lightning.plugins.precision.XLAPrecision` instead.z32-true	precisionr   r   r   r   r   r   I      zTPUPrecisionPlugin.__init__r'   r   r   r   r   r)   B   r(   r)   c                       r%   )TPUBf16PrecisionPluginhLegacy class.

    Use :class:`~pytorch_lightning.plugins.precision.xlabf16.XLAPrecision` instead.

    r   r   r   Nc                    r*   )NzqThe `TPUBf16PrecisionPlugin` class is deprecated. Use `pytorch_lightning.plugins.precision.XLAPrecision` instead.	bf16-truer+   r   r   r   r   r   r   X   r-   zTPUBf16PrecisionPlugin.__init__r'   r   r   r   r   r.   Q   r(   r.   c                       r%   )XLABf16PrecisionPluginr/   r   r   r   Nc                    r*   )NzqThe `XLABf16PrecisionPlugin` class is deprecated. Use `pytorch_lightning.plugins.precision.XLAPrecision` instead.r0   r+   r   r   r   r   r   r   g   r-   zXLABf16PrecisionPlugin.__init__r'   r   r   r   r   r1   `   r(   r1   c                   C   sz   t tjdt t tjdt t tjdt t tjjdt t tjdt	 t tjjdt	 t tjdt
 t tjjdt
 d S )Nr   r&   r)   r.   r1   )setattrpl
strategiesr   acceleratorsr&   pluginsr)   r,   r.   r1   r   r   r   r   _patch_classeso   s   r7   )r   N)r	   typingr   pytorch_lightningr3   lightning_fabric.strategiesr   "pytorch_lightning.accelerators.xlar   #pytorch_lightning.plugins.precisionr   'pytorch_lightning.strategies.single_xlar   %pytorch_lightning.utilities.rank_zeror   r   r   r&   r)   r.   r1   r7   r   r4   StrategyRegistryr   r   r   r   <module>   s$   
	
