Hi @Bixqu,
in principle yes. Generally, it is recommended that you apply a small regularization for the logarithm.
If you try:
lossfunc = torch.nn.BCELoss()
for eps in [1e-11,1e-12,1e-13]:
    pred=Variable(torch.FloatTensor([1.0,0.0]))
    label=Variable(torch.FloatTensor([0.0,1.0]))
    ownloss=-(label*pred.clamp(min=eps).log()+(1-label)*(1-pred).clamp(min=eps).log()).mean()
    print("Reg: {} BCELoss: {:.4f} own BCELoss {:.4f}".format(eps, lossfunc(pred, label).data[0], ownloss.data[0]))

gives
Reg: 1e-11 BCELoss: 27.6310 own BCELoss 25.3284
Reg: 1e-12 BCELoss: 27.6310 own BCELoss 27.6310
Reg: 1e-13 BCELoss: 27.6310 own BCELoss 29.9336

(If you are a friend of multilabel, you might sum over the labels and only take the mean over the batch or somesuch.)
Disclaimer: I don’t have any actual knowledge of the implementation of BCELoss.
Best regards
Thomas