I have used the dcgan tutorial with older versions of pytorch and python2.7. However, Now I get this error with the latest revision and python3
Starting Training Loop...
Traceback (most recent call last):
File "main.py", line 245, in <module>
errD_real = criterion(output, label)
File "/home/mahmood/.local/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/mahmood/.local/lib/python3.7/site-packages/torch/nn/modules/loss.py", line 530, in forward
return F.binary_cross_entropy(input, target, weight=self.weight, reduction=self.reduction)
File "/home/mahmood/.local/lib/python3.7/site-packages/torch/nn/functional.py", line 2527, in binary_cross_entropy
input, target, weight, reduction_enum)
RuntimeError: Found dtype Long but expected Float
Part of the code is
# Format batch
real_cpu = data[0].to(device)
b_size = real_cpu.size(0)
label = torch.full((b_size,), real_label, device=device)
# Forward pass real batch through D
output = netD(real_cpu).view(-1)
# Calculate loss on all-real batch
errD_real = criterion(output, label)
# Calculate gradients for D in backward pass
errD_real.backward()
So, I would like to know how can I fix that to be compatible with the latest pytorch?