我正在使用 tensorflow 0.8.0 和 skflow(或现在称为 learn)。我的模型与此示例非常相似,但将 dnn 作为最后一层(类似于他的 minst 示例)。没有什么特别花哨的东西,该模型本身就可以很好地工作。文本输入最多为 200 个字符和 3 个类别。
我看到的问题是当我尝试加载模型并做出许多预测(通常大约 200 个预测或更多)时,我开始看到结果有所不同。
例如,我的模型已经过训练,我加载它并查看我的数据并进行预测。
char_processor = skflow.preprocessing.ByteProcessor(200)
classifier = skflow.TensorFlowEstimator.restore('/path/to/model')
for item in dataset:
# each item is an array of strings, ex: ['foo', 'bar', 'hello', 'world']
line_data = np.array(list(char_processor.transform(item)))
res = classifier.predict_proba(line_data)
如果我加载我的分类器并且只给它一个项目来预测然后退出,它就可以完美地工作。当我继续做出预测时,我开始看到奇怪之处。
我在这里能错过什么?我的模型不应该总是为相同的数据返回相同的结果吗?