I have a problem running below code
import torch import torch.nn as nn from torch.autograd import Variable weight_list = nn.Parameter(torch.randn(5, 3, 3), requires_grad=True) indices = torch.LongTensor([0, 2]) weight_select = weight_list.index_select(0, indices)
Therefore, I want to select two 3x3 convolution kernels among the 5.
However, when I execute this code, I get a runtime error:
Traceback (most recent call last): File "test.py", line 10, in <module> weight_select = weight_list.index_select(0, indices) File "/home/sanghyun/anaconda3/lib/python3.6/site-packages/torch/autograd/variable.py", line 681, in index_select return IndexSelect.apply(self, dim, index) RuntimeError: save_for_backward can only save input or output tensors, but argument 0 doesn't satisfy this condition
The strange thing is that if I change requires_grad=True to False, this does not happen.
What is problem?