【发布时间】:2022-01-11 18:59:57
【问题描述】:
我正在使用 Tensorflow 2.7.0 构建一个包含以下层的非常基本的模型:
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'])
使用以下回调:
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)
但是,当我运行它时,会出现以下消息并且终端停止响应:
TypeError: cannot pickle '_thread.lock' object
我检查了这个问题,发现了这个issue 和这个question,但据我了解,那里的解决方案与我的模型无关。
非常感谢任何线索。
【问题讨论】:
标签: python tensorflow keras