pytorch CosineEmbeddingLoss使用 与 内存一直增加的问题

CosineEmbeddingLoss使用

必须要三个参数,a,b,y
其中a,b为要计算cosine的向量,y为一个为1或-1的tensor。
a,b维度需为[m,n],y维度为[m]或[1]的向量,例如torch.tensor([1]).to(device)
loss计算结果=torch.cosine_similarity(a,b,dim=1).sum()/m

问题

在训练过程中显存一直增加

问题代码

accu_num += torch.cosine_similarity(torch.flatten(act,start_dim=1),torch.flatten(act_after_opu,start_dim=1),dim=1).sum()
以cosine为loss函数时,用cosine_similarity单独计算了一次cosine。其实不用,看CosineEmbeddingLoss的loss输出就可以。
删掉这行代码就可以。

posted @ 2024-05-16 09:54  心比天高xzh  阅读(140)  评论(0)    收藏  举报