torch.nn.functional.binary_cross_entropy_with_logits
(input, target, weight=None, size_average=None, reduce=None, reduction='mean', pos_weight=None)
Error1:
RuntimeError: the derivative for 'weight' is not implemented
binary_cross_entropy_with_logits
doesn't support back-propagating through the weights attribute.
If you don't need the derivative weights
then you can use weights.detach()/weights.data
instead of weights
.
If you need the derivative, then you'll having to implement binary_cross_entropy_with_logits
yourself.
Error2:
RuntimeError: result type Float can't be cast to the desired output type Long
The error points to the target. Convert it to a torch.cuda.FloatTensor
using:
target = target.float()
Error3:
RuntimeError: weight tensor should be defined either for all or no classes at /opt/conda/conda-bld/pytorch_1595629408163/work/aten/src/THCUNN/generic/SpatialClassNLLCriterion.cu:27
Check the number of classes and classes_weights.