调用cudnn库写卷积运算,同样的输入 、卷积核、操作,总能观测到输出的微小偏差。
实验在RTX2080TI上进行
输入:
shape为:[1,3,10,10]
NVIDIA数值不稳定
卷积核:
shape为[3,3,3,3]
NVIDIA数值不稳定
第一次输出为:
NVIDIA数值不稳定
第二次输出为:
NVIDIA数值不稳定
可以看到第一行第三列数据有微小差异。
因为是并行运算,同样的代码,在硬件上的运行流程每次几乎都不一样,所以数值会有微小差异,对于深度学习大多数应用场景,这点差异可以忽略,但对于高精度计算的场景,特斯拉才能满足。

相关文章: