如何在块中使用SquaredError砖(Theano、Python)?
我设计了一个非常简单的块递归神经网络。作为一个成本函数,我决定使用平方误差函数,它被简单地定义为如何在块中使用SquaredError砖(Theano、Python)?,python,block,theano,Python,Block,Theano,我设计了一个非常简单的块递归神经网络。作为一个成本函数,我决定使用平方误差函数,它被简单地定义为(y-y')^2。我想计算整个小批量的平均成本 下面的代码是一个使用Blocks类/方法squaredrror的几乎可以工作的示例,就我而言,它应该完全执行所需的操作 请忽略低效的float64,我使用它们是为了简化eval执行。使用32b时,问题仍然存在 如果我将有问题的行更改为下面的行,则一切都会按预期进行 cost = tt.sqr(tt.abs_(a - b)).mean() 我做错了什么?
(y-y')^2
。我想计算整个小批量的平均成本
下面的代码是一个使用Blocks类/方法squaredrror
的几乎可以工作的示例,就我而言,它应该完全执行所需的操作
请忽略低效的float64
,我使用它们是为了简化eval
执行。使用32b时,问题仍然存在
如果我将有问题的行更改为下面的行,则一切都会按预期进行
cost = tt.sqr(tt.abs_(a - b)).mean()
我做错了什么?我试图学习更多的积木,但这超出了我的理解。我应该用另一块砖吗?或者以某种方式对张量进行预处理?看起来我们需要2D输入来制作CostMatrix砖块,这有点愚蠢。我已经存档了。如果您愿意,您可以通过将输入调整为(N,1)矩阵来解决这个问题,但是成本块主要只有在您使用输入和输出的自动标记进行可变筛选操作等时才有用。像在Theano表达式中那样写下成本也可以(尽管要挑剔你不需要腹肌,负数的平方始终是正数).p.S.Blocks还不太受欢迎,我们无法主动监控StackOverflow,您可以在Blocks用户Google组上尝试我们的一般开放式使用问题,或者在问题跟踪器上尝试我们的问题,如果有明显的问题。感谢您的澄清和问题创建。下次我将使用用户组,而不是这样。
cost = tt.sqr(tt.abs_(a - b)).mean()