MODEL_SPEC в федеративном обучении (с использованием федеративного ядра Tensorflow)
Я пытаюсь использовать федеративный код для создания собственного алгоритма федеративного обучения. Но я столкнулся с одной проблемой. В официальном руководстве он определяет спецификацию модели следующим образом:
MODEL_SPEC = collections.OrderedDict(
filter1 = tf.TensorSpec(shape=weights[0].shape, dtype=tf.float32),
bias1 = tf.TensorSpec(shape=weights[1].shape, dtype=tf.float32),
filter2 = tf.TensorSpec(shape=weights[2].shape, dtype=tf.float32),
bias2 = tf.TensorSpec(shape=weights[3].shape, dtype=tf.float32),
weight1 = tf.TensorSpec(shape=weights[4].shape, dtype=tf.float32),
bias3 = tf.TensorSpec(shape=weights[5].shape, dtype=tf.float32)
)
MODEL_TYPE = tff.to_type(MODEL_SPEC)
Мне интересно, требуется ли вводить модель как OrderedDict. Могу ли я ввести модель как обучаемую модель Keras?
Спасибо!
1 ответ
Да, TFF может работать с моделями, определенными с помощью
tf.keras.Model
(функциональные или последовательные API-интерфейсы, а не API-интерфейсы подкласса) с использованием tff.learning.from_keras_model
метод.
Этот метод используется в пособиях по федеративному обучению длятекста и учебныхпостроению собственного алгоритма федеративного обучениясоздания .