Tensorflow tflearn预测模型精度不同的原因。当相同数据(培训数据)在不同系统上进行培训时? 更新

Tensorflow tflearn预测模型精度不同的原因。当相同数据(培训数据)在不同系统上进行培训时? 更新,tensorflow,machine-learning,neural-network,deep-learning,tflearn,Tensorflow,Machine Learning,Neural Network,Deep Learning,Tflearn,我目前正在从事Tflearn。我有一个关于Tensorflow Tflearn模型的问题。我的tflearn模型运行良好。但是我对这个模型有一些疑问。我已通过句子数据进行培训。当我在一台计算机上传递句子数据时,我得到了一个模型。之后,我在另一台计算机上传递了相同的句子数据,然后得到了第二个模型。我已经测试了这两个模型。因此,我为一个模型传递了输入句子数据。然后通过模型二的相同输入句子数据,然后我观察到输入数据相同,训练数据相同,但这两个模型的输出是70-80%相似的。20-30%因随机性而变化。

我目前正在从事
Tflearn。
我有一个关于Tensorflow Tflearn模型的问题。我的tflearn模型运行良好。但是我对这个模型有一些疑问。我已通过
句子数据
进行培训。当我在一台计算机上传递句子数据时,我得到了一个模型。之后,我在另一台计算机上传递了相同的句子数据,然后得到了第二个模型。我已经测试了这两个模型。因此,我为一个模型传递了
输入句子数据。然后通过模型二的
相同输入句子数据
,然后我观察到
输入数据相同
训练数据相同
,但这两个模型的输出是70-80%相似的。20-30%因随机性而变化。如何消除模型中的这种随机性?我们正在使用DNN

更新的模型语法 我使用了以下模型:-
train\u x=list(自我培训[:,0])

train_y=list(自我培训[:,1])

tf.reset\u default\u graph()

net=tflearn.input_数据(shape=[None,len(train_x[0]))

net=tflearn.完全连接(网络,8)

net=tflearn.完全连接(网络,8)

net=tflearn.完全连接(网络,len(列车y[0]),激活class='softmax')

net=tflearn.regression(net,optimizer='sgd',shuffle\u batches=False,
学习率=0.1,损失率=分类交叉熵)

model=tflearn.DNN(net,tensorboard\u dir='tflearn\u logs')


model.fit(train\u x,train\u y,n\u epoch=500,batch\u size=8,show\u metric=True)

根据我的个人经验,在将训练数据转换为数组之前,您已经随机洗牌了训练数据。尝试在代码中搜索一个
random.shuffle(self.training)
,并注释该行。

在训练为随机权重之前,您是否初始化了模型?这将导致每次训练时出现不同的模型。@jmkma可能无法理解您。你能再描述一下吗?请参阅上面更新的问题。当您初始化模型(即,起始权重是多少)时,它们必须为非零。可以使用各种猜测(研究领域本身),但最简单、最标准的方法是只分配一个随机数。如果您运行两个单独的训练例程,并且每个例程以不同的随机数开始,您将看到最终模型中的变化。@jmkmay我们的模型从零开始初始化。我已将相同的数据传递给两个不同的机器型号。培训结束后,我们将相同的输入传递给两种不同的机器型号。一个模型在
相同的时期
相同的批量大小上进行了训练。
为什么模型输出不同(变化5-10%)?。如果没有一个模型,我们就无法提供太多帮助。