使用典型的 AI/ML 模型进行验证取决于本地可用的所有数据。将数据拆分为例如 80/20% 拆分、80% 数据用于训练和 20% 用于测试/评估。这种情况不适用于 FL 范式。
使用带有 TFF 的评估函数,您应该在单个客户端级别还是在全局级别进行验证。IE
下一个词预测示例场景:从解决方案开发人员的角度来看,您可能希望评估更多用户的模型准确性,但从单个用户的角度来看,您希望为您的下一个词预测模型执行个人需求。
例子,
Eval Loop.
NUM_ROUNDS = 10
for round_num in range(1, NUM_ROUNDS+1):
...
federated_test_data = random_clients(emnist_test.client_ids,10)
test_metrics = evaluation(state.model, federated_test_data)
print('Validation round {:2d}, metrics={}'.format(round_num, test_metrics))
...
您在哪里有一个先前定义的函数 random_clients 从可用客户端的域中随机抽样。?
您是针对单个客户还是针对多个客户进行评估?