如何使用训练有素的模型从给定输入进行预测?

时间:2015-12-01 08:13:40

标签: python neural-network theano deep-learning

我正在关注tutorial并提供公开code repo。我一直在试图弄清楚如何在训练后应用模型。由于本教程仅涵盖培训,测试和验证,因此我不确定如何在新的非机密数据上使用它。这是我尝试过的:

(1)在network3.py用于构建和训练网络的主要类“网络”下,我在line 182上添加了以下方法:

def predict(self, input):
    self.predict = theano.function([self.x, self.y], self.layers[-1].y_out, on_unused_input='warn')
    print(self.predict(input))

(2)在Python交互式控制台(iPython notebook)中,我像往常一样导入数据并训练模型:

net = Network([
        FullyConnectedLayer(n_in=59, n_out=100),
        SoftmaxLayer(n_in=100, n_out=10)], mini_batch_size)

net.SGD(training_data, 10, mini_batch_size, 0.03, validation_data, test_data)

(3)然后我发出命令:

net.predict((data[0,1:], data[0,0]))

导致以下错误

  

ValueError:('带有名称的theano函数的错误输入参数   “network3.py:181”在索引0(从0开始)','设置数组元素   用序列。')

看起来我的输入没有按照我的预期定义或解释。我用于训练,测试,验证和预测的数据都是相同的格式,即col 0是分类,cols 1-59是数字输入。在上面的代码中,我只是使用训练数据来进行预测。我非常感谢任何帮助或建议引导我朝着正确的方向前进。谢谢!

0 个答案:

没有答案