标签: tensorflow keras precision
为了使用数据,我使用Keras + TensorFlow训练了线性回归,并比较了以3种不同方式计算的第一个预测:
我从模型中得到了权重,只使用了线性回归公式p = w*X0 + b
p = w*X0 + b
我使用Keras的model.predict(X)方法对整个数据数组X进行了预测,然后只采用了它的第一个元素
model.predict(X)
X
我只使用相同的方法预测第一行特征X0(第一个样本)
X0
理论上,所有这些方法都应该产生相同的值。但是,在实践中,我确实得到了有点不同的值。
这个区别并不大,但我仍然想知道为什么会这样,只是因为python中的float精度?
答案 0 :(得分:0)
这很可能是因为矩阵乘法和卷积以非确定性的方式实现(如果更改批量大小,则更改乘法加法的顺序,因为浮点数不是关联你会得到略有不同的结果)。