我已经用 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))