我在tf 2.0中使用ModelCheckpoint,然后遇到此错误。
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-44-9c7ccc2cd985> in <module>
33 verbose = 0,
34 callbacks=[model_check_point_callbacks],
---> 35 epochs=5)
...
/usr/local/anaconda3/lib/python3.6/site-packages/tensorflow_core/python/framework/func_graph.py in capture(self, tensor, name)
602 " it. Defined in: %s; accessed from: %s.n"
603 % (tensor, tensor.graph, self))
--> 604 inner_graph = inner_graph.outer_graph
605 return self._capture_helper(tensor, name)
606 return tensor
AttributeError: 'FuncGraph' object has no attribute 'outer_graph'
在使用回调保存模型时发生。日志记录消息Epoch 00001: val_loss improved from inf to 0.38231, saving model to saved_models/test_model-0.38
,然后终止。我的代码是这样的:
import tensorflow as tf
model_check_point_callbacks = tf.keras.callbacks.ModelCheckpoint(filepath="saved_models/test_model-{val_loss:.2f}",
save_best_only=True, monitor="val_loss",
verbose=1,
mode = 'min')
model.fit(train_ds,
validation_data=val_ds,
verbose = 1,
callbacks=[model_check_point_callbacks],
epochs=5)
我发现它发生在保存模型时。如果我只使用save_weights_only=True,
保存权重,程序运行良好。
我在文件路径的末尾添加了.h5,如下面的代码所示,
model_check_point_callbacks = tf.keras.callbacks.ModelCheckpoint(filepath="saved_models/test_model-{val_loss:.2f}.h5",
save_best_only=False, monitor="val_loss",
verbose=1,
mode = 'min')
很好。请参考此工作要点。谢谢你。