tensorflow联盟是否支持将训练数据放在客户端



看到tensorflow联邦现在可以支持分布式训练,真是太棒了。我在这里提到了这个例子。然而,训练数据似乎是在每个epoch从服务器发送到客户端的,并且客户端(remote_executor_service(不包含任何数据集。它不同于典型的联合学习场景。所以我想知道我可以把培训数据分别放在每个客户身上吗?

需要注意的两件事:

  • 链接的示例(使用Kubernetes的高性能模拟(正在运行联合学习模拟。目前,TensorFlow Federated主要用于执行研究模拟。目前还没有一种方法可以部署到真正的智能手机上。在模拟中,每个客户端数据集在逻辑上是独立的,但在物理上可能存在于同一台机器上。

  • 创建tf.data.Dataset(例如教程中train_data的定义(可以被认为是创建一个"读取数据的配方",而不是实际读取数据本身。例如,向数据集添加.batch().map()调用会返回新的配方,但实际上并没有具体化任何数据集示例。直到.reduce()调用,或者在for循环中迭代数据集,数据集才被实际读取。在本教程中,数据集"配方"被发送给远程工作者;当在本地训练期间迭代数据集时,数据被远程读取/物化(数据本身不发送给远程工作者(。

最新更新