我正在构建一个卷积神经网络,并使用均方误差作为成本函数。当网络输出超过一时,我将成本函数更改为没有错误,因此当它更大时我将输出阈值设置为一。使用此代码
def MSE2(self, y):
loc = np.where(y == 1)[0]
for i in range(len(loc)):
if self.input2[loc[i]] > 1:
self.input2[loc[i]] = 1
return T.mean((y - self.input2) ** 2)
我想知道theano梯度函数在计算梯度时是否会考虑到这一点,或者我应该改变其他东西。
除此之外,有没有其他方法可以优化此代码以更快地运行或在 GPU 上运行。