1

To improve this tutorial and test other things, I was pretrained the network with a centralized way in EMNIST database. Then I would like to Fine tune the pretrained network with a federated code above. So, I only added:

def create_keras_model():
  return tf.keras.models.Sequential([
      tf.keras.models.load_model(path/to/model, compile=False)
      tf.keras.layers.Dense(10, kernel_initializer='zeros'),
      tf.keras.layers.Softmax(),
  ])

The problem is that I find same test accuracy values compared to test accuracy values without fine tuning a pretrained network. Can you please give me solution.

seni
  • 659
  • 1
  • 8
  • 20
  • Could you share the rest of the code context in which the `create_keras_model` is used? What are the accuracy values before and after, and what was the expected accuracy? Not all models and datasets benefit from fine-tuning, especially client datasets are strongly IID (their individual distributions are similar to the distribution of their union), in this case the model already has been trained on effectively the same distribution. The original FedAvg paper https://arxiv.org/pdf/1602.05629.pdf reported 99% accuracy on EMNIST, it maybe difficult to achieve noticeably better accuracy. – Zachary Garrett Dec 29 '21 at 22:33

0 Answers0