参数服务器#
本模块提供了一个基于可重配置进程组构建的容错参数服务器的原型实现。
- class torchft.parameter_server.ParameterServer(port: int, store_port: int = 0)[source]#
Bases:
ABC
这实现了使用 torchft 可重配置进程组的线程化参数服务器。
- address() str [source]#
返回用于在此服务器上创建新会话的 HTTP 地址。
格式:http://host:port/new_session
- 返回
一个 HTTP 地址
- abstract forward(session_id: str, pg: ProcessGroup) None [source]#
此方法将由一个专用线程为每个会话调用一次。要支持在单个会话上进行多个操作,您应该在 forward 实现中放入一个 for 循环。
如果发生错误,进程组将被释放,客户端必须创建一个新会话。
服务器秩为 0,客户端秩为 1。
必须由子类实现。
- 参数
session_id – 此会话的唯一 UUID
pg – 配置给客户端的 ProcessGroup。
- abstract classmethod new_process_group() ProcessGroup [source]#
创建一个新的未配置的 ProcessGroup,供 ParameterServer 在设置服务器和客户端连接时配置。
必须由子类实现。
- 返回
一个新的 ProcessGroup
- classmethod new_session(address: str) ProcessGroup [source]#
在参数服务器上创建一个新会话,并返回一个为该服务器配置的 ProcessGroup。
客户端是秩 1,服务器是秩 0。