scores = model.evaluate(test_ds) 多次运行时总是给出不同的结果

问题描述 投票:0回答:1

当我运行这个单元时,它给了我不同的准确性。 为什么? 我该如何解决它?

我已经设置了种子值。

修复了测试、训练和验证数据 我已经建立了一个 CNN 模型。我想要一个稳定的答案,以便我可以修复它。但它并没有给出一致的答案。如何更改代码?我必须做哪些事情?设置种子值没有帮助。

tensorflow deep-learning conv-neural-network metrics
1个回答
0
投票

如果您的模型是随机的,它将在训练开始时给出随机输出,因为它以随机初始化的参数(例如权重和偏差)开始。您可以调整这些参数的初始化。随着模型的学习,其输出变得不那么随机。

为了解决这个问题,您可以通过将平均值

$\mu$
作为输出来使模型具有确定性。并按如下方式初始化权重和偏差:

self.fc = nn.Linear(n, m)
model.fc.weight.fill_(0.3)
model.fc.bias.fill_(0.2)

但是,我需要告诉你,有时使模型具有确定性会带来一些缺点。

© www.soinside.com 2019 - 2024. All rights reserved.