J'utilise Tensorflow 2.7.0
pour construire un modèle très basique avec les couches suivantes :
base_model = densenet.DenseNet121(weights='imagenet',
include_top=False,
input_shape=(224, 224, 3), pooling='avg')
predictions = tf.keras.layers.Dense(1,
activation='sigmoid',
name='predictions')(base_model.output)
_model = tf.keras.Model(inputs=base_model.input, outputs=predictions)
_model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=1e-2),
loss='binary_crossentropy',
metrics=['accuracy'])
Avec les rappels suivants :
csv_logger = tf.keras.callbacks.CSVLogger(csv_logger_path)
plateau = tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=5)
db_logger = DAGsHubLogger(metrics_path=os.path.join(os.getcwd(), *model_const.METRICS_PATH),
hparams_path=os.path.join(os.getcwd(), *model_const.PARAMS_PATH))
model_checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_filepath,
monitor='val_accuracy',
mode='max',
save_best_only=True)
Cependant, lorsque je l'exécute, le message suivant apparaît et le terminal ne répond plus : TypeError: cannot pickle '_thread.lock' object
J'ai vérifié ce problème et j'ai trouvé ceci numéro et ceci question mais d'après ce que je comprends, les solutions proposées ne peuvent pas s'appliquer à mon modèle.
J'apprécierais beaucoup toute piste.