L i RddlmZddlZddlmZddlmZmZerddlm Z d dZ dZ y) ) annotationsN) TYPE_CHECKING)is_torch_available strtobool)nnctsyddl}|jjsyddl}t ||jj jxs t|ddS)NFr_is_fsdp_managed_module) rtorch distributed is_availabletorch.distributed.fsdp isinstancefsdpFullyShardedDataParallelgetattr)moduler s d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/transformers/integrations/fsdp.pyis_fsdp_managed_modulers]      ) ) +! fe//44MM N RY)5ScDtrddl}|jjxrv|jj xrZt t jjdddk(xr,t t jjdddk(Sy)NrACCELERATE_USE_FSDPFalseFSDP_CPU_RAM_EFFICIENT_LOADINGF) rr r r is_initializedrosenvironget)r s ris_fsdp_enabledr *s    * * , Z!!002 Z"**..)>HIQN Z"**..)I7STXYY   r)rz nn.Modulereturnbool) __future__rrtypingrutilsrrr rrr rrr's%# 1  r