Python Keras AttributeError:“历史”对象没有“预测”属性

Python Keras AttributeError:“历史”对象没有“预测”属性,python,keras,deep-learning,Python,Keras,Deep Learning,注意:我已经看过了,但我不知道我可以用 我的问题的答案 我尝试使用Keras进行简单的回归。为此,我创建了一个简单的policy_network函数,它将返回模型 def policy_network(): model = Sequential() model.add(MaxPooling2D(pool_size=(4, 4),input_shape=[64,64,3])) model.add(Flatten()) model.add(Dense(1, kerne

注意:我已经看过了,但我不知道我可以用 我的问题的答案

我尝试使用Keras进行简单的回归。为此,我创建了一个简单的policy_network函数,它将返回模型

def policy_network():
    model = Sequential()
    model.add(MaxPooling2D(pool_size=(4, 4),input_shape=[64,64,3]))
    model.add(Flatten())
    model.add(Dense(1, kernel_initializer='normal', activation='linear'))

    model.compile(loss='mean_squared_error',
                  optimizer=Adam(lr=learning_rate),
                  metrics=['mean_squared_error'])

    return model
我还定义了一个全局变量策略网络。我使用以下作业

policy_network = policy_network().fit(images, actions,
                  batch_size=256,
                  epochs=10,
                  shuffle=True)
但是当我打电话的时候

action = policy_network.predict(image)
我得到了AttributeError:“History”对象没有属性“predict”

Keras的拟合不返回模型,但它返回一个包含每个历元损失和度量的历史对象。您正在使用的代码模式将无法与Keras一起使用

这样做:

model = policy_network()
model.fit(images, actions,
          batch_size=256,
          epochs=10,
          shuffle=True)
action = model.predict(image)
Keras的拟合不返回模型,但它返回一个历史对象,该对象包含每个历元的损失和度量。您正在使用的代码模式将无法与Keras一起使用

这样做:

model = policy_network()
model.fit(images, actions,
          batch_size=256,
          epochs=10,
          shuffle=True)
action = model.predict(image)

当您对Python说时,您将policy_network的类从keras.Model对象更改为History对象

policy_network = policy_network().fit(..)
如果要将历史记录存储在变量中,请将其存储在另一个变量中:

history = policy_network.fit(..)

您现在可以使用policy_network.predict,这是您想要的方式。

当您对Python说时,您将policy_network的类从keras.Model对象更改为History对象

policy_network = policy_network().fit(..)
如果要将历史记录存储在变量中,请将其存储在另一个变量中:

history = policy_network.fit(..)
现在,您可以按自己的方式使用policy_network.predict