联邦学习中的MODEL_SPEC使用Tensorflow Federated Core

问题描述

我正在尝试使用联合代码来构建我自己的联合学习算法。但是我遇到了一个问题。在官方教程中,它定义了 Model Spec 如下:

MODEL_SPEC = collections.OrderedDict(
            filter1 = tf.TensorSpec(shape=weights[0].shape,dtype=tf.float32),bias1 = tf.TensorSpec(shape=weights[1].shape,filter2 = tf.TensorSpec(shape=weights[2].shape,bias2 = tf.TensorSpec(shape=weights[3].shape,weight1 = tf.TensorSpec(shape=weights[4].shape,bias3 = tf.TensorSpec(shape=weights[5].shape,dtype=tf.float32)
        )
        MODEL_TYPE = tff.to_type(MODEL_SPEC)

我想知道是否需要将模型作为 OrderedDict 输入。我可以将模型输入为可训练的 Keras 模型吗?

谢谢!

解决方法

是的,TFF 可以使用 tf.keras.Model(函数式或顺序 API,而不是子类 API)使用 tff.learning.from_keras_model 方法定义的模型。

此方法在 Federated Learning for Text GenerationBuilding Your Own Federated Learning Algorithm 教程中使用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...