评价此页

Events#

创建于:2021年5月4日 | 最后更新于:2024年6月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.record(event, destination='null')[source]#
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)[source]#

初始化 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,
...     )
torch.distributed.elastic.events.get_logging_handler(destination='null')[source]#
返回类型

Handler

事件对象#

class torch.distributed.elastic.events.api.Event(name, source, timestamp=0, metadata=<factory>)[来源]#

该类表示 torchelastic 作业执行期间发生的通用事件。

事件可以是任何有意义的操作。

参数
  • name (str) – 事件名称。

  • source (EventSource) – 事件的生产者,例如代理或工作进程。

  • timestamp (int) – 事件发生时的毫秒时间戳。

  • metadata (dict[str, Union[str, int, float, bool, NoneType]]) – 与事件关联的附加数据。

class torch.distributed.elastic.events.api.EventSource(value)[来源]#

事件生产者已知标识符。

torch.distributed.elastic.events.api.EventMetadataValue#

alias of Optional[Union[str, int, float, bool]]