o
    i	                     @  sV   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dZ
dd ZdS )    )annotationsN)TYPE_CHECKING   )is_torch_available	strtobool)nnmodule	nn.Modulereturnboolc                 C  sD   t  sdS dd l}|j sdS dd l}t| |jjjp!t| ddS )NFr   _is_fsdp_managed_module)	r   torchdistributedis_availabletorch.distributed.fsdp
isinstancefsdpFullyShardedDataParallelgetattr)r   r    r   [/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/transformers/integrations/fsdp.pyis_fsdp_managed_module   s   
r   c                  C  sR   t  r'dd l} | j o&| j o&ttjdddko&ttjdddkS dS )Nr   ACCELERATE_USE_FSDPFalse   FSDP_CPU_RAM_EFFICIENT_LOADINGF)	r   r   r   r   is_initializedr   osenvironget)r   r   r   r   is_fsdp_enabled*   s   
r    )r   r	   r
   r   )
__future__r   r   typingr   utilsr   r   r   r   r   r    r   r   r   r   <module>   s   
