def __call__(self, x, t):
y = self.predictor(x)
if self.loss == "euclidean":
return F.mean_squared_error(y, t)
elif self.loss == "sdtw":
loss = 0
for i in range(y.shape[0]):
y_i = F.reshape(y[i], (-1,1))
t_i = F.reshape(t[i], (-1,1))
loss += SoftDTWLoss(self.gamma)(y_i, t_i)
return loss
else:
raise ValueError("Unknown loss")
评论列表
文章目录