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 [source]¶
使用 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 -- 包含训练和评估指标的对象。
- 返回类型:
实例
启动不安全的服务器:
>>> start_server()
启动支持 SSL 的服务器:
>>> start_server( >>> certificates=( >>> Path("/crts/root.pem").read_bytes(), >>> Path("/crts/localhost.crt").read_bytes(), >>> Path("/crts/localhost.key").read_bytes() >>> ) >>> )