【问题标题】:Deep Q-Learning : torch.nn.functional.softmax crash深度 Q 学习:torch.nn.functional.softmax 崩溃
【发布时间】:2023-05-25 21:54:01
【问题描述】:

我正在学习一个教程,使用时softmax函数崩溃了。

newSignals = [0.5, 0., 0., -0.7911, 0.7911]
newState = torch.Tensor(newSignals).float().unsqueeze(0)
probs = F.softmax(self.model(newState), dim=1)

self.model 是一个神经网络 (torch.nn.module),它返回一个类似于

的张量

tensor([[ 0.2699, -0.2176, 0.0333]], grad_fn=<AddmmBackward>)

所以,probs = F.softmax(self.model(newState), dim=1) 行使程序崩溃,但当 dim=0 可以工作但效果不佳。

【问题讨论】:

  • 欢迎来到SO,不用担心英语,如果需要,母语人士可以纠正它。如果您希望得到答案,请查看minimal reproducible example 并更新您的帖子。指定并提供可能的输入,解释预期的输出。还提供引发的异常的回溯。这些信息对于获得帮助至关重要。

标签: python pytorch softmax


【解决方案1】:

免责声明:很抱歉,这可能应该是一条评论,但我无法在评论中写下以下所有内容。

您确定这是问题所在吗?以下 sn-p 对我有用。

import torch
a = torch.tensor([[ 0.2699, -0.2176,  0.0333]]) 
a.softmax(dim=1)
> tensor([[0.4161, 0.2555, 0.3284]])
a.softmax(dim=0)
> tensor([[1., 1., 1.]])

【讨论】: