Ë
      çiý  ã                   óv   — d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ dee   dedd	fd
„Zdededd	fd„Zy	)é    )ÚIterableÚMutableMapping)ÚTensor)Ú	Optimizer)Úapply_to_collectionÚmove_data_to_device)Ú_DEVICEÚ
optimizersÚdeviceÚreturnNc                 ó*   — | D ]  }t        ||«       Œ y)zBMoves optimizer states for a sequence of optimizers to the device.N)Ú_optimizer_to_device)r
   r   Úopts      úy/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/lightning_fabric/utilities/optimizer.pyÚ_optimizers_to_devicer      s   € ãˆÜ˜S &Õ)ñ ó    Ú	optimizerc                 ó  — | j                   j                  «       D ]h  \  }}t        |t        «      s&t	        |t
        t        |d¬«      | j                   |<   Œ<|j                  «       D ]  \  }}|dk7  sŒt        ||«      ||<   Œ Œj y)z4Moves the state of a single optimizer to the device.T)Úallow_frozenÚstepN)ÚstateÚitemsÚ
isinstancer   r   r   r   )r   r   ÚpÚvÚkeyÚvals         r   r   r      su   € à—‘×%Ñ%Ö'‰ˆˆ1Ü˜!œ^Ô,ä!4°Q¼Ô@SÐU[ÐjnÔ!oˆIO‰O˜AÑØØŸ™ž	‰HˆCð f‹}Ü,¨S°&Ó9#’ñ	 "ñ (r   )Úcollections.abcr   r   Útorchr   Útorch.optimr   Ú%lightning_fabric.utilities.apply_funcr   r   Ú lightning_fabric.utilities.typesr	   r   r   © r   r   Ú<module>r$      sO   ð÷ 5å Ý !ç ZÝ 4ð* h¨yÑ&9ð *À7ð *Ètó *ð: Ið :°wð :À4ô :r   