我是联邦学习的新手,我尝试为HAR实现FL的代码,但我看不懂这一行
我对一些细节部分感到困惑。 我正在尝试在 Keras 中构建一个顺序模型,但是当我训练模型时,出现此错误,我该如何解决? 请指导我。 谢谢
https://github.com/mikemikezhu/federated-learning-facial-expression-recognition
**********************************
NEW ERROR:
18 june 2021
import tensorflow_federated as tff
# Create dummy batch
dummy_batch = tf.nest.map_structure(lambda x: x.numpy(), iter(federated_data_client_1[0]).next())
print(dummy_batch['x'].shape)
input_spec = tf.nest.map_structure(
tf.TensorSpec.from_tensor,
[tf.convert_to_tensor(x_train), tf.convert_to_tensor(y_train)
import tensorflow_federated as tff
# Create dummy batch
dummy_batch = tf.nest.map_structure(lambda x: x.numpy(), iter(federated_data_client_1[0]).next())
print(dummy_batch['x'].shape)
def model_fn():
# We _must_ create a new model here, and _not_ capture it from an external
# scope. TFF will call this within different graph contexts.
keras_model = create_keras_model()
return tff.learning.from_keras_model(
keras_model,
loss,
dummy_batch,
input_spec,
metrics)
# Build federated average process
trainer = tff.learning.build_federated_averaging_process(model_fn,client_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=0.02))
# Create initial state
train_state = trainer.initialize()
ValueError Traceback (most recent call last)
<ipython-input-242-8b3d0a25c79b> in <module>()
1 # Build federated average process
----> 2 trainer = tff.learning.build_federated_averaging_process(model_fn,client_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=0.02))
3
4 # Create initial state
5 train_state = trainer.initialize()
4 frames
/usr/local/lib/python3.7/dist-packages/tensorflow_federated/python/learning/keras_utils.py in from_keras_model(keras_model, loss, input_spec, loss_weights, metrics)
99 py_typecheck.check_type(keras_model, tf.keras.Model)
100 if keras_model._is_compiled: # pylint: disable=protected-access
--> 101 raise ValueError('`keras_model` must not be compiled')
102
103 # Validate and normalize `loss` and `loss_weights`
ValueError: `keras_model` must not be compiled