TF2 属性错误: 'FuncGraph'对象没有属性'outer_graph'



我在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')

很好。请参考此工作要点。谢谢你。

最新更新