当前位置: 首页 > 工具软件 > Flower > 使用案例 >

【FL实战】Flower框架学习

须原
2023-12-01

一、References

flwr api-docs
本篇博客主要记录flwr中主要使用到的api备忘。

二、API

2.1 Client抽象类

class flwr.client.NumpyClient

Abstract base class for Flower clients using NumPy.
继承该类要实现以下几个函数:

  1. evaluate(parameters, config):在本地数据集上评估给定模型

    参数

    parametersconfig
    现有的全局模型的参数dict形式,配置参数,可用于从Server端向Client端传任意值

    返回

    lossnum_examplesmetrics
    给定模型在本地数据集上计算出的损失值用于评估的examples的数量dict形式,将如bool、bytes、floa、int或者str类型的值映射到string键上,可用于向Server端反传任意值
  2. fit(parameters, config):在本地数据集上训练模型

    参数

    parametersconfig
    当前的全局模型参数配置参数,通过该参数Server端可以对Client端的训练产生影响,可用于从Server端向Client端传递任意值

    返回

    parametersnum_exapmlesmetrics
    本地传回的模型参数用于训练的数据量dict形式,可用于传递任意值到Server端
  3. get_parameters(config):

    参数

    config
    Server端请求的配置参数,可用于告诉Client端需要什么参数

    返回

    parameters
    以Numpy ndarrays的形式返回本地模型的参数
  4. get_properties(config):返回Client的一些properties

参数

config
Server端请求的配置参数,可用于告诉Client端需要什么参数

返回

properties
dict形式,可用于向Server端传递任意property值

2.2 Client启动训练

flwr.client.start_numpy_client(*, server_address: str, client: NumPyClient, grpc_max_message_length: int = 536870912, root_certificates: Optional[bytes] = None) → None

参数:

server_addressclientgrpc_max_message_lengthroot_certificates
Server端的IPv6地址实现了抽象类的Client类与Flower Server端交换的最长gRPC信息长度The PEM-encoded root certificates a byte string,如果提供该参数,可以建立一个SSL-enabled Server
 类似资料: