Issue description
When I run the code, an error was reported as follows:
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-89-0bfb9354ae29> in <module>()
1 train_model(model=model, optimizer=optimizer, scheduler=step_scheduler,
2 num_epochs=num_epochs, train_loader=train_loader, dev_loader=dev_loader,
----> 3 test_loader=test_loader, device=device)
<ipython-input-86-615427f40473> in train_model(model, optimizer, scheduler, num_epochs, train_loader, dev_loader, test_loader, device)
161 loss2 = F.cross_entropy(pred2, a[:, 0])
162 loss = loss1 + loss2
--> 163 loss.backward()
164 optimizer.step()
165
~/anaconda3/lib/python3.6/site-packages/torch/tensor.py in backward(self, gradient, retain_graph, create_graph)
91 products. Defaults to ``False``.
92 """
---> 93 torch.autograd.backward(self, gradient, retain_graph, create_graph)
94
95 def register_hook(self, hook):
~/anaconda3/lib/python3.6/site-packages/torch/autograd/__init__.py in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables)
87 Variable._execution_engine.run_backward(
88 tensors, grad_tensors, retain_graph, create_graph,
---> 89 allow_unreachable=True) # allow_unreachable flag
90
91
RuntimeError: No grad accumulator for a saved leaf!
Code example
I’m using torch 0.4.0
and Cw, Cc, Qw, Qc
are elements in a batch with requires_grad=True
. a
is the label, a tensor with requires_grad=False
.
my code looks like as follows:
for ids, Cw, Cc, Qw, Qc, a in train_loader:
optimizer.zero_grad()
pred1, pred2 = model(Cw, Cc, Qw, Qc)
loss1 = F.cross_entropy(pred1, a[:, 0])
loss2 = F.cross_entropy(pred2, a[:, 0])
loss = loss1 + loss2
loss.backward()
optimizer.step()
System Info
PyTorch version: 0.4.0
Is debug build: No
CUDA used to build PyTorch: None
OS: Mac OSX 10.12.6
GCC version: Could not collect
CMake version: version 3.9.6
Python version: 3.6
Is CUDA available: No
CUDA runtime version: No CUDA
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
Versions of relevant libraries:
[pip3] msgpack-numpy (0.4.1)
[pip3] numpy (1.14.2)
[pip3] numpydoc (0.7.0)
[pip3] pytorchviz (0.0.1)
[pip3] tensorboard-pytorch (0.7.1)
[pip3] torch (0.4.0)
[pip3] torchfile (0.1.0)
[pip3] torchtext (0.2.3)
[pip3] torchvision (0.2.1)
[conda] pytorch 0.4.0 py36_cuda0.0_cudnn0.0_1 pytorch
[conda] pytorchviz 0.0.1
[conda] tensorboard-pytorch 0.7.1
[conda] torchfile 0.1.0
[conda] torchtext 0.2.3
[conda] torchvision 0.2.1 py36_1 pytorch