在我培训CNN模型进行分类的项目中,我在结果方面存在随机性问题。
我在会话开始时为Numpy和Tensorflow设置了种子。
我也检查并确保所有的初始化[即数据随机播放,所有层的权重初始化对于每次运行都是相同的]无论如何,每次运行的结果[即成本,准确度]都不同。
所有图层的权重也会在一个时期后发生变化。
这是我使用
的成本函数cost=tf.reduce_mean(tf.losses.hinge_loss(logits = pred, labels = labels),name=name)
这些是我用来计算精度的其他函数,其中Z是模型最后一层的输出
pred=tf.argmax(Z,axis=1,name="predictions")
true_preds=tf.equal(pred,tf.argmax(Y,axis=1))
accuracy=tf.reduce_mean(tf.cast(true_preds,"float"),name="Accuracy")
所以,即使我只运行一个时代的模型,即便如此,结果也不会重复。但是初始化只是重申而已。此外,我只在一个GPU上运行我的代码,并没有完成并行性。
已完成类似的questions,但无法找到解决方案,如果我错过任何此类已解决的问题,请直接解答。