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

时间:2018-12-03 17:33:49

标签: python keras deep-learning

  

注意:我见过此related post,但我不知道我可以使用   我的问题的答案。

我尝试使用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 = policy_network().fit(images, actions,
                  batch_size=256,
                  epochs=10,
                  shuffle=True)

但是当我打电话

action = policy_network.predict(image)

我得到了AttributeError: 'History' object has no attribute 'predict'

2 个答案:

答案 0 :(得分:2)

Keras的Admin不会返回模型,但会返回一个fit()对象,其中包含每个时期的损失和指标。您使用的代码模式根本无法与Keras配合使用。

这样做:

History

答案 1 :(得分:0)

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

policy_network = policy_network().fit(..)

如果要将历史记录存储在变量中,请将其存储在另一个变量中:

history = policy_network.fit(..)

您现在可以按照自己的方式使用policy_network.predict