start_client¶
- start_client(*, server_address: str, client_fn: Callable[[Context], Client] | None = None, client: Client | None = None, grpc_max_message_length: int = 536870912, root_certificates: bytes | str | None = None, insecure: bool | None = None, transport: str | None = None, authentication_keys: tuple[EllipticCurvePrivateKey, EllipticCurvePublicKey] | None = None, max_retries: int | None = None, max_wait_time: float | None = None) None [소스]¶
Flower 서버에 연결되는 Flower 클라이언트 노드를 시작합니다.
경고
This function is deprecated since 1.13.0. Use
flower-supernode
command instead to start a SuperNode.- 매개변수:
server_address (str) – 서버의 IPv4 또는 IPv6 주소입니다. Flower 서버가 포트 8080의 동일한 컴퓨터에서 실행되는 경우 `서버_주소`는 `”[::]:8080”`이 됩니다.
client_fn (Optional[ClientFnExt]) – 클라이언트를 인스턴스화하는 호출 가능 항목입니다. (기본값: None)
client (Optional[flwr.client.Client]) – 추상 베이스 클래스 `flwr.client.Client`의 구현(기본값: None)
grpc_max_message_length (int (default: 536_870_912, this equals 512MB)) – Flower 서버와 교환할 수 있는 gRPC 메시지의 최대 길이입니다. 기본값은 대부분의 모델에 충분합니다. 매우 큰 모델을 훈련하는 사용자는 이 값을 늘려야 할 수도 있습니다. Flower 서버는 동일한 값으로 시작해야 하며(flwr.server.start_server 참조), 그렇지 않으면 증가된 제한을 알지 못해 더 큰 메시지를 차단합니다.
root_certificates (Optional[Union[bytes, str]] (default: None)) – 바이트 문자열 또는 경로 문자열로 PEM 인코딩된 루트 인증서. 제공하면 인증서를 사용하여 SSL이 활성화된 Flower 서버에 보안 연결이 설정됩니다.
insecure (bool (default: True)) – True일 경우 안전하지 않은 gRPC 연결을 시작합니다. root_certificates`가 None인 경우 시스템 인증서를 사용하여 False일 때 HTTPS 연결을 활성화합니다.
transport (Optional[str] (default: None)) – 전송 계층을 구성합니다. 허용되는 값입니다: - ‘grpc-bidi’: gRPC, 양방향 스트리밍 - ‘grpc-rere’: gRPC, 요청-응답(실험적) - ‘rest’: HTTP(실험적)
authentication_keys (Optional[Tuple[PrivateKey, PublicKey]] (default: None)) – Tuple containing the elliptic curve private key and public key for authentication from the cryptography library. Source: https://cryptography.io/en/latest/hazmat/primitives/asymmetric/ec/ Used to establish an authenticated connection with the server.
max_retries (Optional[int] (default: None)) – 연결 오류 발생 시 클라이언트가 서버 연결을 포기하기 전에 시도하는 최대 횟수입니다. None으로 설정하면 시도 횟수에 제한이 없습니다.
max_wait_time (Optional[float] (default: None)) – 연결 오류 발생 시 클라이언트가 서버에 대한 연결을 시도하지 않는 최대 기간입니다. None으로 설정하면 총 시간에는 제한이 없습니다.
예제
안전하지 않은 서버 연결로 gRPC 클라이언트 시작하기:
>>> start_client( >>> server_address=localhost:8080, >>> client_fn=client_fn, >>> )
시스템 인증서를 사용하여 SSL 사용 gRPC 클라이언트를 시작합니다:
>>> def client_fn(context: Context): >>> return FlowerClient().to_client() >>> >>> start_client( >>> server_address=localhost:8080, >>> client_fn=client_fn, >>> insecure=False, >>> )
제공된 인증서를 사용하여 SSL 지원 gRPC 클라이언트를 시작합니다:
>>> from pathlib import Path >>> >>> start_client( >>> server_address=localhost:8080, >>> client_fn=client_fn, >>> root_certificates=Path("/crts/root.pem").read_bytes(), >>> )