tensorflow - 为什么 tflearn 预测模型的准确率不同。当在不同系统上训练相同的数据(训练数据)?
问题描述
更新
我目前正在研究Tflearn.
关于 Tensorflow tflearn 模型的一个问题。我的 tflearn 模型运行良好。但我对这个模型有一些疑问。我已通过sentence data
培训目的。当我通过sentence data
一台计算机时,我得到了一个模型。之后,我通过same sentence data
了另一台计算机,然后得到了第二个模型。我已经测试过这两个模型。所以我通过了input sentence data
for one model。然后通过了same input sentence data
模型二然后我观察到了input data were same
,training data were same
但是这两个模型的输出是 70-80% 相似的。由于随机性,20-30% 会有所不同。如何消除模型中的这种随机性?我们正在使用 DNN。
更新了模型语法
我在模型下面使用过:-
train_x = list(self.training[:, 0])
train_y = list(self.training[:, 1])
tf.reset_default_graph()
net = tflearn.input_data(shape=[None, len(train_x[0])])
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, 8)
net = tflearn.fully_connected(net, len(train_y[0]), activation='softmax')
net = tflearn.regression(net,optimizer='sgd',shuffle_batches=False,
learning_rate=0.1,loss='categorical_crossentropy')
model = tflearn.DNN(net, tensorboard_dir='tflearn_logs')
model.fit(train_x, train_y, n_epoch=500, batch_size=8, show_metric=True)
解决方案
根据我的个人经验,在将训练数据转换为数组之前,您已经随机打乱了训练数据。尝试在您的代码中搜索 arandom.shuffle(self.training)
并注释该行。
推荐阅读
- powershell - get-aduser 证书奇怪的错误
- javascript - 如何使用jquery动态传递id
- jmeter - 如何根据先前请求中提供的日/月/年值计算年龄?- Jmeter
- c# - 是否有代码注释将 XML 属性限制为枚举值?
- nlog - NLog.config -> 可以删除旧的日志文件吗?
- ansible - 在 Ansible Jinja2 模板中循环另一个 var 时将项目推送到一个 var
- linux - 为来自 tcsh 的文件预加载 open()
- c# - 使用 c# 在 MongoDB 上进行多个关键字搜索?
- javascript - 在每个对象中使用 Object.assign()
- java - 两个活动之间的共享元素转换不合适