做Top-N推荐,自定义BPR损失函数,lossbackward没有反应,没有任何报错,如何解决?
写了一个TOP-N推荐的程序,用变分自编码器对电影和用户分别进行编码和更新,然后点乘计算相似度。
当我用torch.nn.functional 预定义的binary_cross_entropy_with_logits作为损失函数时,代码能够正常运行,训练没问题。
但是,我用自己定义的BPR损失函数(代码如下):
程序能够计算出损失,但是运行loss_.backward()这一步没有任何反应,就是不动了,也不报错。
苦恼了一周了也没有解决,求大佬们指导指导