Python 从另一个张量创建特定的张量
Python 从另一个张量创建特定的张量,python,pytorch,q-learning,Python,Pytorch,Q Learning,q\u pred=self.q.forward(states)提供以下输出: tensor([[-4.4713e-02, 4.2878e-03], [-2.2801e-01, 2.2295e-01], [-9.8098e-03, -1.0766e-01], [-1.4654e-01, 1.2742e-01], [-1.6224e-01, 1.6565e-01], [-3.6515e-02, 3.1022e-
q\u pred=self.q.forward(states)
提供以下输出:
tensor([[-4.4713e-02, 4.2878e-03],
[-2.2801e-01, 2.2295e-01],
[-9.8098e-03, -1.0766e-01],
[-1.4654e-01, 1.2742e-01],
[-1.6224e-01, 1.6565e-01],
[-3.6515e-02, 3.1022e-02],
[-4.5094e-02, 1.4848e-02],
[-1.4157e-01, 1.3974e-01],
[-3.0593e-03, -4.2342e-02],
[-4.1689e-02, 2.9376e-02],
[-9.3629e-02, 1.0297e-01],
[-5.2163e-04, -7.4799e-02],
[-2.8944e-02, -1.2417e-01]], grad_fn=<AddmmBackward>)
从上述两个输出中,我如何能够得出以下结果:
tensor([4.2878e-03, -2.2801e-01, -1.0766e-01, 1.2742e-01, -1.6224e-01, 3.1022e-02, 1.4848e-02,
-1.4157e-01, -4.2342e-02, -4.1689e-02, -9.3629e-02, -7.4799e-02,, -1.2417e-01], grad_fn=<AddmmBackward>)
您可以使用:
q_pred[torch.arange(q_pred.size(0)), actions.type(torch.LongTensor)]
您可以使用:
q_pred[torch.arange(q_pred.size(0)), actions.type(torch.LongTensor)]
***索引器错误:用作索引的张量必须是长张量、字节张量或布尔张量
。这是你回答的错误。我该如何解决这个问题?@Louis Andre你有没有尝试过q_pred[torch.arange(q_pred.size(0)),actions]
?是的,我遇到了上面的错误。请记住,'torch.FloatTensor'
用于q_pred.type()
和'torch.IntTensor'
用于actions.type()
@Louis Andre这一个<代码>q_pred[torch.arange(q_pred.size(0)),actions.type(torch.lontensor)]?***索引器:用作索引的张量必须是长、字节或布尔张量
。这是你回答的错误。我该如何解决这个问题?@Louis Andre你有没有尝试过q_pred[torch.arange(q_pred.size(0)),actions]
?是的,我遇到了上面的错误。请记住,'torch.FloatTensor'
用于q_pred.type()
和'torch.IntTensor'
用于actions.type()
@Louis Andre这一个<代码>q_pred[torch.arange(q_pred.size(0)),actions.type(torch.LongTensor)]?
q_pred[torch.arange(q_pred.size(0)), actions.type(torch.LongTensor)]