我有Keras的这个模特:
model.add(Conv1D(4,kernel_size=3, activation='relu',
input_shape=(tablon_vectores_train.shape[1],
tablon_vectores_train.shape[2])
#,padding='same'
)
)
model.add(MaxPooling1D(pool_size=4))
model.add(Conv1D(6,kernel_size=2, activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(15, activation='relu'))
model.add(Dense(1) )
model.compile(loss='mean_squared_error', optimizer='adam',metrics=['mse'])
model = model.fit(
X
, Y
, epochs=50, batch_size=10
, validation_split= 0.25
, verbose=1, shuffle=True)
当我执行预测代码时:
predict = model.predict(X_test)
我有此错误:
AttributeError:“历史记录”对象没有属性“ predict”。
我该怎么办?
答案 0 :(得分:1)
在您的情况下,训练历史记录将覆盖您的模型。使用其他一些变量名称来保留训练历史记录。
history = model.fit(...)
现在您可以使用模型进行预测了。
答案 1 :(得分:1)
model.fit(..)
返回一个History对象,其中包含模型的学习历史记录。
model = model.fit(..)
用History对象覆盖您的卷积网络。
您可以一起删除所有作业,而只需使用model.fit()
。如果您想可视化学习历史,可以通过键入history = model.fit(..)
来访问值。训练后,您可以使用该对象可视化结果。您可以通过输入history.history
来保存值。
要获取预测,请尝试preds = model.predict(..)
答案 2 :(得分:0)
我猜您正在覆盖模型。
尝试一下
history = model.fit(...)
然后
predict = model.predict()