我是在修改源码后发现这个问题,排除各种原因后,发现是输入数据的问题
for epoch in range(epochs, n_epochs):
for i, batch in enumerate(loader):
# Model inputs
real_A = batch[0].cuda()
real_B = batch[1].cuda()
real_P = batch[2].cuda()
RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn
然后修改为下面,就成功运行了
for epoch in range(epochs, n_epochs):
for i, batch in enumerate(loader):
# Model inputs
real_A = batch[0].cuda().requires_grad_(True)
real_B = batch[1].cuda().requires_grad_(True)
real_P = batch[2].cuda().requires_grad_(True)