VGG16 モデルでコード TFF をビルドしました。しかし、訓練中は精度は変わらず、11ラウンド後も0.5前後で推移しています。学習率を変更してみましたが、大きな効果はありません.!!! では、コードを実行すると精度が安定し、増加しないため、精度を上げるためにコードで変更できるメトリックと項目は何ですか?
これが私のVGG16のコードです
def create_compiled_keras_model():
IMG_SHAPE = (IMG_SIZE, IMG_SIZE, 3)
VGG16_MODEL = tf.keras.applications.VGG16(input_shape=IMG_SHAPE,
include_top=False,
weights='imagenet')
#VGG16_MODEL.trainable=False
global_average_layer = tf.keras.layers.GlobalAveragePooling2D()
prediction_layer = tf.keras.layers.Dense(......)
model = tf.keras.Sequential([ VGG16_MODEL, global_average_layer, prediction_layer ])
model.compile .............
return model
...
iterative_process = tff.learning.build_federated_averaging_process(model_fn)
state = iterative_process.initialize()
for round_num in range(2, 12):
state, metrics = iterative_process.next(state, federated_train_data)
print('round {:2d}, metrics={}'.format(round_num, metrics, state))