首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多轮使用tff.learning.build_federated_evaluation

多轮使用tff.learning.build_federated_evaluation
EN

Stack Overflow用户
提问于 2022-04-16 23:24:04
回答 1查看 85关注 0票数 1

我想使用tff.learning.build_federated_evaluation评估我的联邦学习模型。一开始,得到了合理的结果。但是,我是否可以运行多轮评估过程(如在训练阶段完成这里),以获得更稳定的结果?

评价代码如下。

代码语言:javascript
复制
train, test = source.train_test_client_split(source, 2,seed=0)
test_client_ids = test.client_ids

test_data= [test.create_tf_dataset_from_all_clients().map(reshape_data)
.batch(batch_size=10)
 for c in test_client_ids]

eval_process=tff.learning.build_federated_evaluation(model_fn)

eval_process(state.model, test_data)

评价结果。

代码语言:javascript
复制
OrderedDict([('eval',
              OrderedDict([('sparse_categorical_accuracy', 0.53447974),
                           ('loss', 1.0230521),
                           ('num_examples', 11514),
                           ('num_batches', 1152)]))])
EN

回答 1

Stack Overflow用户

发布于 2022-04-21 12:39:24

在同一个eval_process上运行多轮test_data不会产生新的信息,而且每次都会产生相同的结果。这些结果在不改变的意义上是稳定的,但可能并不有趣。

在多轮上运行eval_process,每一轮使用不同的test_data,可以认为是对来自较大人群的一组客户进行抽样,以获得模型质量的估计值。从多个样本中计算许多估计值可以使用统计技术,通过更多的轮数可以得到更稳定的模型质量估计。

这大概是12中使用的技术,它们描述了以后的聚合服务。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71898178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档