过去几个小时,我一直在尝试制作我的第一个图像分类模型。为此,我使用了从头开始的图像分类教程。当我按照这些步骤进行操作时,我设法完成了教程。
与教程中的代码相比,我所做的唯一区别是:
- 为了使训练过程更快,我将 epoch 的数量从 50 改为 10,
- 我从函数中删除了图像增强块
make_model
(一行代码)。
现在,我正在解决我的问题。最后,当我再次尝试获取相同数据和相同模型的预测结果时,结果是不同的。看看这个简单的代码:
>>> for i in range(5):
... predictions = model.predict(val_ds)
... predictions_list = [round(pred[0], 3) for pred in predictions]
... print(predictions_list[:10])
结果:
[0.937, 0.905, 1.0, 0.094, 0.021, 0.095, 0.07, 0.006, 1.0, 1.0]
[0.905, 1.0, 1.0, 1.0, 1.0, 1.0, 0.122, 1.0, 1.0, 0.0]
[0.996, 0.003, 1.0, 0.887, 1.0, 1.0, 0.798, 1.0, 1.0, 1.0]
[1.0, 1.0, 0.819, 0.999, 1.0, 0.887, 0.087, 1.0, 0.914, 1.0]
[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.916, 0.102]
我假设,只有在我重新训练模型的情况下,结果才会有所不同。但这不是我的情况!我只重新运行.predict()
方法。所以,我的问题是 - 你能帮我吗,我做错了什么,好吗?我错过了什么吗?