【发布时间】:2020-04-15 00:35:21
【问题描述】:
我创建了一个非 IID 数据集,其中我将 60000 个示例(10 个类,每个类有 6000 个示例)划分为 200 个片段,每个片段有 300 个示例。有 100 个客户端,我随机分配 2 个片段给每个客户端。这是一些客户的情况。 the situation of some clients
我使用这个数据集来训练我的 TFF 模型。训练集的准确率约为 0.99,而测试集的准确率仅为 0.5 左右。我尝试了很多次,但没有改变。 而且我认为该模型可能过度拟合,因此我添加了两个 dropout 进行测试,但我得到了相同的结果。然后我将 relu() 函数更改为leakyrelu(),并将优化器函数从 SGD 更改为 Adam,但准确度也在 0.5 左右。我不知道为什么。我知道非 IID 会导致准确性下降,而 FedAvg 可以缓解它。 TFF 使用 FedAvg 来聚合客户端模型,这意味着我已经使用 FedAvg 作为我的底层结构,对吗?但为什么我的准确率这么低?
【问题讨论】:
-
你能给我们更多的细节吗!!代码sn-p
标签: python tensorflow imbalanced-data tensorflow-federated