今天跟着书敲代码,报错: 'Sequential' object has no attribute 'predict_classes',如图所示:
上网百度,发现predict_classes
函数在新版本中已经删除了,需要使用 model.predict() 替代 model.predict_classes() ,修改后的代码如下:
# 使用 model.predict() 替代 model.predict_classes()
predictions = model.predict(X_test)
# 将预测结果转换为类别标签
prediction_classes = np.argmax(predictions, axis=1)
# 定义 pre_results() 函数,查看指定图片、真实标签及预测结果
def pre_results(i):
plot_image(X_test1[i]) # 假设 X_test 是测试集的图片数据
print('Y_test=', Y_test1[i]) # 打印测试集第 i+1 项的标签
print('预测概率分布:', predictions[i])
print('pre_result=', prediction_classes[i]) # 打印测试集第 i+1 项的预测结果
pre_results(0)
运行结果:
怎么说呢,感觉非常奇怪。我又试了下其他的图片,每次预测的结果和真实结果都不一样。前面的预处理也没问题呀,怎么和书上的结果不一样呢。我再好好琢磨琢磨。与大家共勉。