Tensorflow模型只能在一台计算机上获得好的结果,在其他任何地方都会失败

2024-07-07 07:17:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个TensorFlow/Keras模型,我正在进行综合分类任务的培训

使用我的笔记本电脑对模型进行培训时,模型的准确率达到99.9%,损失值在1e-8左右

然而,当我在另一台机器上训练模型时,精度稳定在80%,损失停留在3e-1。我已经在自己的服务器和Google Colab上重现了故障

现在,由于问题似乎是我的笔记本电脑配置不同,我试图找出这种差异是什么

我已确保在两台机器上:

  • Python版本是3.7
  • Nvidia驱动程序是460.x.x
  • CUDA版本是11.2
  • Tensorflow版本为2.4,从pip安装
  • Numpy版本是1.19.5
  • Scipy版本是1.4.1

该笔记本电脑配有i7-7700HQ和NVIDIA GeForce GTX 1050手机。 该服务器有一个Xeon Silver 4116和几个GPU:TITAN Xp、TITAN V、GeForce RTX 2080 SUPER、TITAN V(我都试过)

这个问题发生在CPU和GPU上。在所有情况下,精度都设置为float32。 正在运行的代码完全相同

我无法共享代码,但我可以说它使用了tf.math.segment_sum,这是一种非确定性操作(我不知道它是否有用)

我在这里完全不知所措。我已经试着查看了这两种配置之间的所有可能的差异,但我找不到任何差异。事实上,这个问题也发生在CPU上,这让我非常震惊

有什么问题吗

我希望这是一个编程问题,因为它与TensorFlow有关。如果没有,我会提前道歉,并询问其他地方

谢谢


Tags: 代码模型版本服务器机器gputensorflow精度