为什么在使用Deep Q学习时会出现此错误?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (331)

我一直在Windows 10 Machine上使用Deep Q Learning。我有版本0.4.1的pytorch和NVIDA显卡。

def select_action(self, state):
    probs = F.softmax(self.model(Variable(state, volatile = True))*7)
    action = probs.multinomial()
    return action.data[0,0]

从代码的这一部分,我不断收到此错误:

TypeError: multinomial() missing 1 required positional arguments: "num_samples"

如果需要任何其他信息,我可以提供。

提问于
用户回答回答于

您没有指定绘制多项分布num_samplesmultinomial函数。

torch.multinomial(input,num_samples,replacement = False,out = None) 返回张量,其中每行包含 从位于张量输入的相应行中的多项概率分布中采样的num_samples索引。

更改代码如下:

def select_action(self, state):
    probs = F.softmax(self.model(Variable(state, volatile = True))*7)
    action = probs.multinomial(1) # 1 is the number of samples to draw
    return action.data[0,0]

扫码关注云+社区

领取腾讯云代金券