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(),
>>> )