TensorFlow联合:具有自定义学习算法的Keras模型

时间:2020-09-24 20:32:14

标签: python tensorflow keras tensorflow-federated

This教程介绍了如何从keras模型构建TFF计算。 This教程描述了如何从头开始构建自定义TFF计算,可能使用自定义联合学习算法。

我需要的是这些的组合:我想构建一个自定义的联合学习算法,并且我想使用一个现有的keras模型。 。该怎么做?

第二个教程需要基于MODEL_TYPE的{​​{1}},但是我不知道如何获得它。我可以在MODEL_SPEC(其中model.trainable_variables)中看到一些变量,但我怀疑这是我所需要的。

当然,我可以手动实现模型(如第二个教程中所示),但是我想避免使用它。

1 个答案:

答案 0 :(得分:1)

我认为您具有编写自定义联合计算以及将Keras模型转换为tff.learning.Model的正确指针。因此,我们将集中精力从现有的tff.learning.Model中提取TFF类型签名。

一旦掌握了这样的模型,就应该能够使用tff.learning.framework.weights_type_from_model提取适当的TFF类型以用于自定义算法。

这里有一个有趣的警告:您在自定义算法中精确地{em>使用 tff.learning.Model的程度完全取决于您,这可能会影响所需的模型权重类型。不太可能发生这种情况(可能只是将传入张量中的值分配给模型变量),所以我认为我们应该避免深入研究此警告。

最后,介绍了TFF中端到端自定义算法实现的一些指针: