Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在TF2中使用自定义训练循环时,如何保存所有变量(不仅仅是净变量)以恢复训练?_Python_Tensorflow_Keras_Tensorflow2.0_Tf.keras - Fatal编程技术网

Python 在TF2中使用自定义训练循环时,如何保存所有变量(不仅仅是净变量)以恢复训练?

Python 在TF2中使用自定义训练循环时,如何保存所有变量(不仅仅是净变量)以恢复训练?,python,tensorflow,keras,tensorflow2.0,tf.keras,Python,Tensorflow,Keras,Tensorflow2.0,Tf.keras,我正在使用自定义训练循环训练TF2中的模型。我希望能够在给定时刻保存我的优化状态,以便以后能够重新启动它。要保存的变量包括模型参数、优化变量以及一些其他变量 在TF1中,这实际上甚至不是一个问题,因为默认情况下会保存所有变量 现在,如何在TF2中实现这一点 根据指南,在TF2中,保存是通过Keras公开的功能完成的,可以使用特定的回调或模型方法。这两种方法都可以节省更多的净参数,但要实现这一点,需要使用tf.model.compile编译模型,以便将所有内容捆绑在一起。然而,使用定制的训练循环,

我正在使用自定义训练循环训练TF2中的模型。我希望能够在给定时刻保存我的优化状态,以便以后能够重新启动它。要保存的变量包括模型参数、优化变量以及一些其他变量

在TF1中,这实际上甚至不是一个问题,因为默认情况下会保存所有变量

现在,如何在TF2中实现这一点

根据指南,在TF2中,保存是通过Keras公开的功能完成的,可以使用特定的回调或模型方法。这两种方法都可以节省更多的净参数,但要实现这一点,需要使用tf.model.compile编译模型,以便将所有内容捆绑在一起。然而,使用定制的训练循环,完全不需要编译

那么,如何保存我的所有变量,以便在未使用正确的编译/拟合路径时能够恢复训练?

使用tf.train.Checkpoint并将所有要保存的变量放入此函数

tf.train.Checkpoint(model=model, optimizer=optimizer, [xx=xx])
更多细节请看这个