Tensorflow 为强化学习子类tf.keras.Model时的保存和构建问题

Tensorflow 为强化学习子类tf.keras.Model时的保存和构建问题,tensorflow,keras,reinforcement-learning,Tensorflow,Keras,Reinforcement Learning,ValueError:无法保存模型,因为尚未设置输入形状。通常,通过调用.fit()或.predict()自动确定输入形状。若要手动设置形状,请调用Model.build(input\u shape) 我喜欢这样子类: RM类(tf.keras.Model): 在我的init中调用super 这个班训练一个强化学习问题。 我的呼叫功能非常简单。它只是两个堆叠的密集层,状态I输入为大小2901 然而,我在保存模型时遇到了很多麻烦。我尝试了model.save,但没有成功,因为我从未使用model.

ValueError:无法保存模型,因为尚未设置输入形状。通常,通过调用
.fit()
.predict()
自动确定输入形状。若要手动设置形状,请调用
Model.build(input\u shape)

我喜欢这样子类:

RM类(tf.keras.Model):

在我的init中调用super

这个班训练一个强化学习问题。 我的呼叫功能非常简单。它只是两个堆叠的密集层,状态I输入为大小2901

然而,我在保存模型时遇到了很多麻烦。我尝试了model.save,但没有成功,因为我从未使用model.fit或model.predict。我已经定义了自己的调用函数,我不清楚如何使用这些层

我试着将我的层放入一个顺序中,在我的调用函数中调用predict,然后只保存它,但是后来梯度出现了问题,模型的顺序部分仍然无法保存

在错误中,它建议我在保存之前尝试model.build。Model.build应该定义输入的大小

我试过model.build,但它并不能解决我的问题

我现在真的不知所措。这是一个强化学习模型,使用了actor-critic架构,因此我希望在学习过程中保留其他部分。评论家网络是其中最大的一部分。然而,我只需要保存两个稠密层的权重就可以了,这两个稠密层处于一种状态,并输出了动作的概率分布

我是否以根本不正确的方式使用tf.keras.Model