Ah, you are right. But just for curiousity, why the label has to be float in this loss function? I mean it is a binary classfication, so one should expect the outcome of such classification is only yes(1) or no(0). Why does it assume the target is float?