【发布时间】:2018-05-10 18:39:16
【问题描述】:
目前正在尝试使用 PyTorch 实现 REINFORCE 算法。我希望能够在打折奖励后收集负责任的输出。因此,考虑到动作记忆,我创建了一个索引张量,并尝试使用 Tensor.index_select,但没有成功。任何人都可以帮忙吗?
rH = np.array(rH) # discounted reward
aH = np.array(aH) # action_holder
sH = np.vstack(np.array(sH)) # states holder
statesTensor = Variable(torch.from_numpy(sH).type(torch.FloatTensor))
out = model.forward(statesTensor)
indexes = GuiltyOnes(out, aH)
flat = out.view(1,-1)
respos = torch.index_select(flat, 1, torch.from_numpy(indexes).type(torch.LongTensor))
我收到以下错误:
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
【问题讨论】:
标签: python indexing reinforcement-learning pytorch