Keras模型返回不同的值

时间:2018-01-04 11:55:02

标签: tensorflow keras precision

为了使用数据,我使用Keras + TensorFlow训练了线性回归,并比较了以3种不同方式计算的第一个预测:

  1. 我从模型中得到了权重,只使用了线性回归公式p = w*X0 + b

  2. 我使用Keras的model.predict(X)方法对整个数据数组X进行了预测,然后只采用了它的第一个元素

  3. 我只使用相同的方法预测第一行特征X0(第一个样本)

  4. 理论上,所有这些方法都应该产生相同的值。但是,在实践中,我确实得到了有点不同的值。

    Different values

    这个区别并不大,但我仍然想知道为什么会这样,只是因为python中的float精度?

1 个答案:

答案 0 :(得分:0)

这很可能是因为矩阵乘法和卷积以非确定性的方式实现(如果更改批量大小,则更改乘法加法的顺序,因为浮点数不是关联你会得到略有不同的结果)。