事件#
創建於: 2021年05月04日 | 最後更新於: 2024年06月10日
模組包含與標準 Python 日誌整合的事件處理機制。
用法示例
from torch.distributed.elastic import events
event = events.Event(
name="test_event", source=events.EventSource.WORKER, metadata={...}
)
events.get_logging_handler(destination="console").info(event)
API 方法#
- torch.distributed.elastic.events.construct_and_record_rdzv_event(run_id, message, node_state, name='', hostname='', pid=None, master_endpoint='', local_id=None, rank=None)[原始碼]#
初始化 rendezvous 事件物件並記錄其操作。
- 引數
run_id (str) – rendezvous 的執行 ID。
message (str) – 描述事件的訊息。
node_state (NodeState) – 節點的當前狀態(INIT, RUNNING, SUCCEEDED, FAILED)。
name (str) – 事件名稱。(例如:當前正在執行的操作)。
hostname (str) – 節點的 hostname。
pid (Optional[int]) – 節點的程序 ID。
master_endpoint (str) – rendezvous 儲存的主節點端點,如果已知。
local_id (Optional[int]) – 節點的 local_id,如果已在 dynamic_rendezvous.py 中定義。
rank (Optional[int]) – 節點的 rank,如果已知。
- 返回
無
- 返回型別
無
示例
>>> # See DynamicRendezvousHandler class >>> def _record( ... self, ... message: str, ... node_state: NodeState = NodeState.RUNNING, ... rank: Optional[int] = None, ... ) -> None: ... construct_and_record_rdzv_event( ... name=f"{self.__class__.__name__}.{get_method_name()}", ... run_id=self._settings.run_id, ... message=message, ... node_state=node_state, ... hostname=self._this_node.addr, ... pid=self._this_node.pid, ... local_id=self._this_node.local_id, ... rank=rank, ... )
事件物件#
- class torch.distributed.elastic.events.api.Event(name, source, timestamp=0, metadata=<factory>)[原始碼]#
該類表示在 torchelastic 作業執行期間發生的通用事件。
該事件可以是任何有意義的操作。
- 引數
name (str) – 事件名稱。
source (EventSource) – 事件生產者,例如:agent 或 worker。
timestamp (int) – 事件發生時的毫秒級時間戳。
metadata (dict[str, Union[str, int, float, bool, NoneType]]) – 與事件關聯的附加資料。
- torch.distributed.elastic.events.api.EventMetadataValue#
別名:
Optional[Union[str,int,float,bool]]