2024-09-30 18:26:05 发布
网友
我正在分析我在Tensorflow中与FedAvg联合实现的一个方法。我需要有一个每个客户端的delta权重的柱状图,它被传送到服务器。每个客户机在simulation/federated_avaraging.py中分别调用,但问题是我不能在那里调用以下APItf.summary.histogram()。任何帮助都将不胜感激
simulation/federated_avaraging.py
tf.summary.histogram()
在TFF中,TensorFlow表示“局部计算”;因此,如果需要一种跨客户机检查内容的方法,则需要首先通过TFF聚合所需的值,或者在本机python中检查返回的值
如果您想使用TF ops,我建议您使用tff.federated_collect内在函数来“收集”服务器上您想要的所有值,然后federated_map使用TF函数获取这些值并生成所需的可视化效果
tff.federated_collect
federated_map
如果您希望在Python级别工作,这里有一个简单的选项(这是我将采用的方法):简单地返回来自tff.federated_computation的客户机培训结果;当您调用此计算时,这将具体化这些结果的Python列表,并且您可以根据需要将其可视化。这大致可以大致大致上是这样的:
tff.federated_computation
@tff.federated_computation(...) def train_one_round(...): ... trained_clients = run_training(...) new_model = update_global_model(trained_clients,...) return new_model, trained_clients
在本例中,此函数将返回一个元组,其第二个元素是一个Python列表,表示所有客户端的培训结果
在TFF中,TensorFlow表示“局部计算”;因此,如果需要一种跨客户机检查内容的方法,则需要首先通过TFF聚合所需的值,或者在本机python中检查返回的值
如果您想使用TF ops,我建议您使用
tff.federated_collect
内在函数来“收集”服务器上您想要的所有值,然后federated_map
使用TF函数获取这些值并生成所需的可视化效果如果您希望在Python级别工作,这里有一个简单的选项(这是我将采用的方法):简单地返回来自
tff.federated_computation
的客户机培训结果;当您调用此计算时,这将具体化这些结果的Python列表,并且您可以根据需要将其可视化。这大致可以大致大致上是这样的:在本例中,此函数将返回一个元组,其第二个元素是一个Python列表,表示所有客户端的培训结果
相关问题 更多 >
编程相关推荐