在pymc3中进行小批量训练后如何进行预测

时间:2018-06-23 23:23:05

标签: machine-learning theano pymc3

this文章之后,我试图在pymc3的贝叶斯深度学习中实现Minibatches。我可以按照本文底部所述训练模型。但是,当我使用迷你批处理时,我不知道如何显示与不使用迷你批处理而产生的图片相似的图片。这需要预测网格上许多输入的值。作者将theano.shared变量用于输入和输出(ann_inputann_output),以便以后可以更改它们。根据{{​​3}},应该可以使用ann_input.set_value(grid_2d)ann_output.set_value(dummy_out),即使它们是pm.Minibatch,也与theano.shared一样。但是,在pm.Minibatch的情况下,它仅替换基础的theano.shared变量,因此模型仅预测32个(最小批量大小)值。根据{{​​3}},我应该能够将输入替换为以下内容:

replacements = {ann_input:grid_2d, ann_output:dummy_out}
neural_network.out = theano.clone(neural_network.out, replacements)

(或者也许没有.out?)

但是,(使用.out)我得到ValueError: cannot reshape array of size 32 into shape (100,100),因此结果预测仍然只包含一个小批量的值。

我可能做的是完全错误的事情。 如何正确使用这些“网格”输入以便绘制图片?

0 个答案:

没有答案