Google colab 上的结果与本地结果不同

我正在训练一个 unet 模型。我开始用我的电脑训练,但它太慢了,因为它没有用 GPU 运行。因此,我开始使用 Google colab 进行更快的训练(使用 GPU)。我在本地和 Google Drive 中保存了相同的数据集,并且在 colab 和我的 pc 中也有完全相同的代码,除了路径,因为我需要更改它们以从我的 Google Drive 文件中读取。

我的问题是,在我的计算机中训练 unet 的结果与使用 Google colab 训练 unet 的结果有很大不同。

我不知道为什么会发生这种情况(我在两者中都使用了相同的种子,并且我已经测试过,如果我使用该种子,我总是在本地获得相同的结果)。当我在我的电脑中训练 unet 时,我获得了或多或少 90% 的准确度。但是,当我使用 colab 和 GPU 训练它时,我只获得 65%。我也尝试在 colab 中使用 CPU,但我遇到了同样的问题。

谢谢

stack overflow Different results on Google colab than local
原文答案

答案:

作者头像

我也有这个问题: Wild discrepancies between training DeepLab ResNet V3 on Google Colab versus on local machine

这将解决您的准确性问题,但这意味着训练需要很长时间,因为您是从 Google Drive 而不是从 Colab 工作区读取数据。虽然这个修复导致性能比我的本地机器更差......

作者头像

我也经历了完全相同的问题。对我来说,问题是随机分解为火车和测试,这只是一个巧合,在当地机器上,随机分裂在COLAB上获得了良好的性能。然后只使用Random_State为我解决了问题。例如: train_test_split(data, target, test_size=0.1, random_state=30, stratify=target)