MrY*_*ath 4 python deep-learning keras
注意:我看过这篇相关文章,但我不知道我可以使用这个答案来解决我的问题。
我尝试使用 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
Run Code Online (Sandbox Code Playgroud)
我还定义了一个全局变量policy_network。我使用以下作业
policy_network = policy_network().fit(images, actions,
batch_size=256,
epochs=10,
shuffle=True)
Run Code Online (Sandbox Code Playgroud)
但当我打电话时
action = policy_network.predict(image)
Run Code Online (Sandbox Code Playgroud)
我得到了AttributeError: 'History' object has no attribute 'predict'
Kerasfit()不会返回模型,但会返回一个包含History每个周期损失和指标的对象。您使用的代码模式根本不适用于 Keras。
像这样做:
model = policy_network()
model.fit(images, actions,
batch_size=256,
epochs=10,
shuffle=True)
action = model.predict(image)
Run Code Online (Sandbox Code Playgroud)
当你对Python说时,你将policy_network的类从keras.Model对象更改为History对象
policy_network = policy_network().fit(..)
Run Code Online (Sandbox Code Playgroud)
如果要将历史记录存储在一个变量中,请将其存储在另一个变量中:
history = policy_network.fit(..)
Run Code Online (Sandbox Code Playgroud)
您现在可以按照policy_network.predict您想要的方式使用。