gpt4 book ai didi

amazon-ec2 - 为什么我的 keras 神经网络模型在不同的机器上输出不同的值?

转载 作者:行者123 更新时间:2023-12-01 12:22:54 24 4
gpt4 key购买 nike

我正在使用 aws ec2 为多标签分类任务训练模型。训练后,我在同一台机器上测试了模型,结果很好(准确度为 90+%)。但是,当我将保存的模型导入本地机器(没有 GPU)后,它给出了不同的结果(准确度小于 5%)。关于为什么会发生这种情况的任何建议?谢谢。

TL;博士: Keras/tensorflow 模型在转移时产生不同的结果 来自 GPU 机器到 CPU .

最佳答案

上网查了一下,发现问题所在。似乎在 GPU 上运行时, tensorflow 上的 keras 往往会产生转移到非 GPU 机器时无法重现的结果。这很可能与安装的 cuDNN 有关。 cuDNN 的 maxpooling 和一些卷积向后算法是不确定的 - 正如论坛所说。

我找到的解决方案说使用numpy.random.seed(seed_no)在调用任何 keras 库之前。这在您运行代码时有效 在 CPU 上 .适用于 keras/theano 和 keras/tensorflow。

的解决方案GPU用户在 theano 上使用 keras 涉及 modifying the .theanorc file into :

[dnn.conv]
algo_bwd_filter = deterministic
algo_bwd_data = deterministic

using theano flags : THEANO_FLAGS="dnn.conv.algo_bwd_filter=deterministic,dnn.conv.algo_bwd_data=deterministic" python rnn_model.py
但是,我还没有找到任何关于如何在 keras 上以 tensorflow 作为后端在 GPU 上运行的统一结果的明确说明。

关于amazon-ec2 - 为什么我的 keras 神经网络模型在不同的机器上输出不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42449635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com