start_server#

start_server(*, server_address: str = '[::]:8080', server: Server | None = None, config: ServerConfig | None = None, strategy: Strategy | None = None, client_manager: ClientManager | None = None, grpc_max_message_length: int = 536870912, certificates: Tuple[bytes, bytes, bytes] | None = None) History[源代码]#

使用 gRPC 传输层启动 Flower 服务器。

参数:
  • server_address (Optional[str]) -- 服务器的 IPv4 或 IPv6 地址。默认为 `"[::]:8080"。

  • server (Optional[flwr.server.Server] (default: None)) -- 服务器实现,可以是 flwr.server.Server 或其子类。如果没有提供实例,start_server 将创建一个。

  • config (Optional[ServerConfig] (default: None)) -- 目前支持的值有:`num_rounds`(int,默认值:1)和以秒为单位的`round_timeout`(float,默认值:无)。

  • strategy (Optional[flwr.server.Strategy] (default: None).) -- 抽象基类 flwr.server.strategy.Strategy 的实现。如果没有提供策略,start_server 将使用 flwr.server.strategy.FedAvg

  • client_manager (Optional[flwr.server.ClientManager] (default: None)) -- 抽象基类 flwr.server.ClientManager 的实现。如果没有提供实现,start_server 将使用 flwr.server.client_manager.SimpleClientManager

  • grpc_max_message_length (int (default: 536_870_912, this equals 512MB)) -- 可与 Flower 客户端交换的 gRPC 消息的最大长度:默认值对大多数模型都足够了。训练超大模型的用户可能需要增加该值。请注意,Flower 客户端需要以相同的值启动(请参阅 flwr.client.start_client),否则客户端将不知道已增加的限制并阻止更大的消息。

  • certificates (Tuple[bytes, bytes, bytes] (default: None)) -- 包含根证书、服务器证书和私钥的元组,用于启动启用 SSL 的安全服务器。元组应按以下顺序包含三个字节元素: * CA 证书,* 服务器证书, * 服务器私钥。

返回:

hist -- 包含训练和评估指标的对象。

返回类型:

flwr.server.history.History

示例

启动不安全的服务器:

>>> start_server()

启动支持 SSL 的服务器:

>>> start_server(
>>>     certificates=(
>>>         Path("/crts/root.pem").read_bytes(),
>>>         Path("/crts/localhost.crt").read_bytes(),
>>>         Path("/crts/localhost.key").read_bytes()
>>>     )
>>> )