我在Keras中进行回归,使用一个具有1个输入、10个隐藏单元和1个输出的神经网络。我像往常一样拟合模型:
model.fit(x_train, y_train, nb_epoch=15, batch_size=32)
现在我想对一个xtest
进行预测,它(像x_train
和y_train
一样)是一个非常大的1维numpy数组。在Keras的文档中,你可以找到:
predict(self, x, batch_size=32, verbose=0)
所以我理解你需要这样做:
model.predict(xtest, batch_size=32)
我对batch_size
指令感到困惑。这是否意味着predict
会以随机的方式获取xtest的值?
因为我需要的是predict
生成的输出要与xtest给出的顺序完全一致。我的意思是,首先是xtest[0]的预测输出,然后是xtest[1]的预测输出,然后是xtest[2]的预测输出…依此类推。我想用这个预测数组与我实际拥有的ytest进行一些比较,并做一些统计分析。所以,顺序是至关重要的。我该如何做呢?
提前感谢您。
回答:
predict方法会保持示例的顺序。batch size在你的数据量很大且无法一次性加载大量示例到内存时非常重要。然后,它会按原始集合的顺序逐批加载和评估数据。