This教程介绍了如何从keras模型构建TFF计算。 This教程描述了如何从头开始构建自定义TFF计算,可能使用自定义联合学习算法。
我需要的是这些的组合:我想构建一个自定义的联合学习算法,并且我想使用一个现有的keras模型。 问。该怎么做?
第二个教程需要基于MODEL_TYPE
的{{1}},但是我不知道如何获得它。我可以在MODEL_SPEC
(其中model.trainable_variables
)中看到一些变量,但我怀疑这是我所需要的。
当然,我可以手动实现模型(如第二个教程中所示),但是我想避免使用它。
答案 0 :(得分:1)
我认为您具有编写自定义联合计算以及将Keras模型转换为tff.learning.Model
的正确指针。因此,我们将集中精力从现有的tff.learning.Model
中提取TFF类型签名。
一旦掌握了这样的模型,就应该能够使用tff.learning.framework.weights_type_from_model
提取适当的TFF类型以用于自定义算法。
这里有一个有趣的警告:您在自定义算法中精确地{em>使用 tff.learning.Model
的程度完全取决于您,这可能会影响所需的模型权重类型。不太可能发生这种情况(可能只是将传入张量中的值分配给模型变量),所以我认为我们应该避免深入研究此警告。
最后,介绍了TFF中端到端自定义算法实现的一些指针:
simple_fedavg
,它是完全独立的,并且包含运行说明。