§
    &`ƒiá  ã                   óä   — 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lmZ  ed¦  «        Z e j        e¦  «        Ze
 G d	„ d
¦  «        ¦   «         Ze
 G d„ de¬¦  «        ¦   «         ZdS )é    N©Únullcontext)ÚTypeVar)ÚBaseWorkerGroup)Ú	Singleton)ÚDeveloperAPI)Úmake_table_html_reprÚEncodedDatac                   óJ   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zdefd„ZdS )ÚBackendConfigz4Parent class for configurations of training backend.c                 ó   — t           S ©N)ÚBackend©Úselfs    úe/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/train/backend.pyÚbackend_clszBackendConfig.backend_cls   s   € åˆó    c                 ó   — t           S r   r   r   s    r   Útrain_func_contextz BackendConfig.train_func_context   s   € åÐr   Úreturnc                 óH   — t          | t          | ¦  «        j        ¬¦  «        S )N)ÚobjÚtitle)r	   ÚtypeÚ__name__r   s    r   Ú_repr_html_zBackendConfig._repr_html_   s   € Ý#¨µD¸±J´JÔ4GÐHÑHÔHÐHr   N)	r   Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   Ústrr   © r   r   r   r      sp   € € € € € à>Ð>àðð ñ „Xðð ðð ñ „XððI˜Sð Ið Ið Ið Ið Ið Ir   r   c                   óR   — e Zd ZU dZdZeed<   dedefd„Z	dedefd„Z
dedefd„Zd	S )
r   a  Singleton for distributed communication backend.

    Attributes:
        share_cuda_visible_devices: If True, each worker
            process will have CUDA_VISIBLE_DEVICES set as the visible device
            IDs of all workers on the same node for this training instance.
            If False, each worker will have CUDA_VISIBLE_DEVICES set to the
            device IDs allocated by Ray for that worker.
    FÚshare_cuda_visible_devicesÚworker_groupÚbackend_configc                 ó   — dS )z Logic for starting this backend.Nr#   ©r   r&   r'   s      r   Úon_startzBackend.on_start-   ó   € àˆr   c                 ó   — dS )z$Logic for shutting down the backend.Nr#   r)   s      r   Úon_shutdownzBackend.on_shutdown1   r+   r   c                 ó   — dS )z\Logic ran right before training is started.

        Session API is available at this point.Nr#   r)   s      r   Úon_training_startzBackend.on_training_start5   s	   € ð 	ˆr   N)r   r   r   r    r%   ÚboolÚ__annotations__r   r   r*   r-   r/   r#   r   r   r   r      s›   € € € € € € ðð ð (-Ð Ð,Ð,Ñ,ð _ð Àmð ð ð ð ð¨ð Èð ð ð ð ðØ+ðØ=Jðð ð ð ð ð r   r   )Ú	metaclass)ÚloggingÚ
contextlibr   Útypingr   Ú%ray.train._internal.base_worker_groupr   Úray.train._internal.utilsr   Úray.util.annotationsr   Úray.widgetsr	   r
   Ú	getLoggerr   Úloggerr   r   r#   r   r   ú<module>r<      s  ðØ €€€Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à AÐ AÐ AÐ AÐ AÐ AØ /Ð /Ð /Ð /Ð /Ð /Ø -Ð -Ð -Ð -Ð -Ð -Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,àˆgmÑ$Ô$€à	ˆÔ	˜8Ñ	$Ô	$€ð ðIð Ið Ið Ið Iñ Iô Iñ „ðIð ðð ð ð ð ˜	ð ñ ô ñ „ðð ð r   