-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Description
Thanks for your code, it helps me a lot. And I try to write on my own but I meet some questions.
When I rewrite the loss function as follows:
`class Custom_Loss(nn.Module):
def init(self):
super(Custom_Loss, self).init()
def loss_function(self, data, labels):
loss = Variable(torch.zeros(1))
for d, l in zip(data, labels):
loss -= torch.log(d[l]).cpu()
loss /= data.size(0)
return loss
def forward(self, p1, p2, S, E):
"""
N for batch and T for length of context
:param p1: A tensor (N,T) represents for possibility of choosing each word as answer(start)
:param p2: A tensor (N,T) represents for possibility of choosing each word as answer(end)
:param S: A tensor for each query's start position
:param E: A tensor for each query's end position
:return: Loss of the BiDAF model
"""
l1 = self.loss_function(p1, S)
l2 = self.loss_function(p2, E)
loss=l1+l2
return loss`
I meet the error: cuda out of memory, I check my code and could not find the reason, can you help me?
Metadata
Metadata
Assignees
Labels
No labels