def check_forward(self, x_data, t_data, v_data, use_visibility):
x = chainer.Variable(x_data)
t = chainer.Variable(t_data)
v = chainer.Variable(v_data)
loss = mean_squared_error(x, t, v, use_visibility)
loss_value = cuda.to_cpu(loss.data)
eq_(loss_value.dtype, np.float32)
eq_(loss_value.shape, ())
# compute expected value.
loss_expect = 0.
for i in np.ndindex(self.x.shape):
diff = self.x[i] - self.t[i]
if use_visibility:
diff *= self.v[i[:-1]]
loss_expect += diff**2
if use_visibility:
N = self.v.sum()/2
else:
N = self.x.size/2
loss_expect /= N
self.assertAlmostEqual(loss_expect, loss_value, places=5)
mean_squared_error_test.py 文件源码
python
阅读 21
收藏 0
点赞 0
评论 0
评论列表
文章目录