问题标签 [tensorflow-federated]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1024 浏览

python - 为什么在图像分类问题中 eminst 数据从 (28*28) 转换为 [-1, 784] 而不是 [0,784]?

这是来自https://www.tensorflow.org/federated/tutorials/federated_learning_for_image_classification的代码片段

该示例是使用联邦学习的图像分类问题。下面的函数是 emnist 数据的预处理函数(大小为 28*28)。任何人都可以帮助理解为什么数据被重塑为 -1 到 784 吗?据我了解,我们将其从二维数组转换为一维数组,因为它更易于处理。但我不确定为什么包含 -1。0 o 784 还不够吗?

0 投票
1 回答
568 浏览

python - TensorFlow Federated:如何为具有多个输入的模型编写输入规范

我正在尝试使用 tensorflow 提供的联合学习库制作图像字幕模型,但我遇到了这个错误

Input 0 of layer dense is incompatible with the layer: : expected min_ndim=2, found ndim=1.

这是我的 input_spec:

该模型将图像特征作为第一个输入,将词汇列表作为第二个输入,但我无法在 input_spec 变量中表达这一点。我尝试将其表示为列表列表,但它仍然不起作用。接下来我可以尝试什么?

0 投票
1 回答
1221 浏览

tensorflow - KeyError:“无法打开对象(对象'示例'不存在)”

当我想像 emnsit 一样创建 HDF5ClientData 实例时出现此错误。这是我的代码:

我之前在 mynist.hdf5 中添加了一些数据。我不知道为什么会这样。

emnist 的实例

这是我的错误,例如:

0 投票
0 回答
90 浏览

python - 如果使用创建的客户端数据集训练 tff 模型,应用程序会挂起

我创建了一个DataSet以下 EMNIST。但是当我训练我的模型时,它似乎陷入了无限循环,并且 RAM 很快就会被填满。这是代码。我打印我的数据集和 EMNIST 数据集以进行比较(BAL1是我的数据集):

结果如下:

这是我BAL1用来替换 EMNIST 的部分:

我的模型可以很好地与 EMNIST 配合使用。但是,如果我将 EMNIST 更改为我的数据集,“Python3 Google 计算引擎”就会变得忙碌。即使等了很长时间,也没有任何计算,所以我不得不打断它。

0 投票
1 回答
335 浏览

tensorflow-federated - 无法在 GPU 上运行 TensorFlow-federated

我正在尝试运行tensorflow-federated在 GPU 上使用的 python 代码。为了设置我的环境,我使用venv. 首先,我安装tensorflow-gpu,然后我的 python 代码可以识别 GPU,我使用tf.test.gpu_device_name(). 但是,一旦我安装tensorflow-fedenerated,我的 python 就停止看到任何 GPU 并开始使用 CPU!我正在使用 Ubuntu 16.04.6 LTS。我尝试了很多不同版本的软件包的组合:

0 投票
0 回答
116 浏览

tensorflow-federated - 尝试“tff.learning.assign_weights_to_keras_model”方法时出错

我想在本教程中尝试这种TFF方法,但我发现我无法理解的错误女巫。我使用assign_weight,然后评估我的模型这是我的代码:

错误信息 :

0 投票
1 回答
21 浏览

tensorflow-datasets - 为什么我将 600 个示例分配给客户,但在 TFF 中训练模型时却有 700 个?

我在 TFF 中使用创建的数据集时遇到了一个奇怪的问题。我为联邦训练创建了一个数据集,其中我分配了 5 个客户端示例,如下所示:600 600 300 700 300。但是当我在模型中训练它们时,我发现示例的数量是 600 600 600 600 700。我很困惑。然后,我打印了我创建的数据集的进程信息,并查看了数据集的HDF5文件,它们都是600 600 300 700 300。我用这段代码查看了HDF5文件中有多少客户端的示例,结果是 700:

我使用这段代码来实例化数据集并查看客户端中有多少示例:

我使用此代码来实例化第三个客户端的数据集并进行调试:

我在创建数据集时分配了第三个客户端 700 个示例。但是当我迭代这个客户端的数据时,我发现它显示了 600 个示例。tff HDF5 文件也显示 700。

0 投票
1 回答
59 浏览

tensorflow-federated - 异步 - FL 模型

如何使用 TFF 框架进行异步模型训练?

我回顾了迭代训练过程循环,但是我不确定如何知道收到了哪些客户模型。

0 投票
1 回答
17 浏览

tensorflow-federated - 服务器可以在 FL 的一个训练周期中向每个客户端广播最大数量的示例吗?这种行为是否侵犯了隐私?

我正在训练一个 FL 模型。我每个周期选择 5 个客户。我想获得客户和最大数量客户之间的示例差距。服务器能否在这个周期内向其他客户端广播 5 个客户端中的最大示例数?合法吗?

0 投票
1 回答
255 浏览

python - 为什么我在 McMahan 的论文中创建了一个像 FedAvg 这样的非 IID 数据集,但该数据集的测试准确度仅为 0.5?

我创建了一个非 IID 数据集,其中我将 60000 个示例(10 个类,每个类有 6000 个示例)划分为 200 个片段,每个片段有 300 个示例。有 100 个客户端,我随机分配 2 个片段给每个客户端。这是一些客户的情况。 部分客户的情况

我使用这个数据集来训练我的 TFF 模型。训练集的准确率约为 0.99,而测试集的准确率仅为 0.5 左右。我尝试了很多次,但没有改变。而且我认为该模型可能过度拟合,因此我添加了两个 dropout 进行测试,但我得到了相同的结果。然后我将 relu() 函数更改为leakyrelu(),并将优化器函数从 SGD 更改为 Adam,但准确度也在 0.5 左右。我不知道为什么。我知道非 IID 会导致准确性下降,而 FedAvg 可以缓解它。TFF 使用 FedAvg 来聚合客户端模型,这意味着我已经使用 FedAvg 作为我的底层结构,对吗?但为什么我的准确率这么低?