
    h	                    R    d dl mZ d dlZd dlmZ ddlmZmZ erd dlm	Z	 d	dZ
d Zy)
    )annotationsN)TYPE_CHECKING   )is_torch_available	strtobool)nnc                    t               sydd l}|j                  j                         sydd l}t        | |j                  j                  j                        xs t        | dd      S )NFr   _is_fsdp_managed_module)	r   torchdistributedis_availabletorch.distributed.fsdp
isinstancefsdpFullyShardedDataParallelgetattr)moduler   s     \/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/transformers/integrations/fsdp.pyis_fsdp_managed_moduler      s]    ))+!fe//44MMN RY)5S     c                 D   t               rdd l} | j                  j                         xrv | j                  j	                         xrZ t        t        j                  j                  dd            dk(  xr, t        t        j                  j                  dd            dk(  S y)Nr   ACCELERATE_USE_FSDPFalse   FSDP_CPU_RAM_EFFICIENT_LOADINGF)	r   r   r   r   is_initializedr   osenvironget)r   s    r   is_fsdp_enabledr    *   s     **, Z!!002Z"**..)>HIQNZ "**..)I7STXYY		
 r   )r   z	nn.Modulereturnbool)
__future__r   r   typingr   utilsr   r   r   r   r   r     r   r   <module>r'      s%    # 	   1  r   