快捷键

torch.distributed.elastic.events.api 源代码

#!/usr/bin/env python3
# mypy: 允许未类型化定义

版权所有(c)Facebook,Inc.及其关联公司
版权所有
#
此源代码遵循在源树根目录中的 LICENSE 文件中找到的 BSD 风格许可协议。
有关许可证文件,请参阅源树根目录。

导入 json
来自 dataclasses 导入 asdict, 数据类, 字段
来自 枚举 导入 枚举
来自 打字 导入 可选, 联合


__all__ = [事件源, "事件", 节点状态, Rdzv 事件]

事件元数据值 = 联盟[字符串, int, float, 布尔, ]


[文档]class 事件源(str, Enum): 事件生产者的已知标识符。 AGENT = "代理" WORKER = "工作者"
[文档]@数据类 class Event: """ 该类表示在 torchelastic 作业执行过程中发生的通用事件。 事件可以是任何有意义的行为。 Args: 名称:事件名称。 来源:事件生产者,例如代理或工作者 时间戳:事件发生时的毫秒时间戳。 metadata: 与事件相关联的附加数据。 """ name: 字符串 source: 事件源 timestamp: int = 0 metadata: dict[str, EventMetadataValue] = field(default_factory=dict) def __str__(self): return self.serialize() @staticmethod def deserialize(data: Union[str, "Event"]) -> "Event": if isinstance(data, Event): return data if isinstance(data, str): data_dict = json.loads(data) data_dict["source"] = EventSource[data_dict["source"]] # type: ignore[possibly-undefined] return Event(**data_dict) def serialize(self) -> str: return json.dumps(asdict(self))
节点状态(字符串, 枚举): """节点可以处于 rendezvous 的状态。""" 初始化 = 初始化 运行中 = 运行中 成功 = 成功 失败 = 失败 @dataclass Rdzv 事件: "" 表示任何会合事件的 Dataclass。 参数: 事件名称。(例如:当前执行的操作) rendezvous_run_id: 约会运行的 ID message: 描述事件的短信 hostname: 节点的主机名 节点的进程 ID 节点状态(INIT,RUNNING,SUCCEEDED,FAILED) 如果已知, rendezvous 存储的 master 端点 如果已知,节点的 rank 本地_id:在 dynamic_rendezvous.py 中定义的节点本地_id 错误堆栈跟踪,如果是错误事件 ```python # 假设输入文本为: input_text = '"""' # 翻译函数(此处仅为示例,实际翻译功能需要调用真实的翻译 API) def translate_to_simplified_chinese(text): # 这里应该调用真实的翻译 API 进行翻译 # 由于示例中不使用真实的 API,以下为模拟翻译结果 return text # 输出翻译结果 translated_text = translate_to_simplified_chinese(input_text) print(translated_text) ``` 名称: 字符串 run_id: 字符串 消息: 字符串 hostname: 字符串 进程 ID: 整型 节点状态: 节点状态 主端点: 字符串 = 请提供需要翻译的文本 排名: 可选[int] = None 本地 ID: 可选[int] = None 错误跟踪: 字符串 = 请提供需要翻译的文本 def __str__(自身): 返回 自身.序列化() @staticmethod def 反序列化(数据: 联盟[字符串, RdzvEvent]) -> Rdzv 事件: 如果 isinstance(数据, Rdzv 事件): 返回 数据 如果 isinstance(数据, 字符串): 数据字典 = json.loads(数据) 数据字典[节点状态] = 节点状态[数据字典[节点状态]] # type: ignore[possibly-undefined] 返回 Rdzv 事件(**数据字典) def 序列化(自身) -> 字符串: 返回 json.压缩包(asdict(自身))

© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

查看 PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源,获取您的疑问解答

查看资源