【问题标题】:Pytorch: Reshape 1d to 2d targetPytorch:将 1d 重塑为 2d 目标
【发布时间】:2021-02-18 21:22:55
【问题描述】:

抱歉,如果这个问题已经得到解答,但我找不到它。

我有一个二进制分类问题,我一直在使用CrossEntropyLoss,它需要以下输入和目标张量维度:

我已改用 BCEWithLogitsLoss 和预先计算的类权重来解决标签不平衡问题。问题是BCEWithLogitsLoss 需要以下维度:

我将如何塑造我的一维张量,即。 tensor([[0, 0, 0, ..., 1, 0, 0]]) 到我输入的形状是(No. of X samples, 2)?我试过.unsqueeze(1),但这给了我(#X, 1)。澄清一下,我在上一个问题中的输入形状是[32,2],目标形状为[32],根据上述文档,我正在寻找[32,2] 用于输入和目标暗淡。

【问题讨论】:

    标签: pytorch


    【解决方案1】:

    我最终解决了问题,没有意识到 Pytorch 中内置了 one-hot 编码功能。

    我使用了 torch.nn.functional.one_hot(targets) 行,它将我的目标变量重新调整为 torch.Size([32, 2])

    【讨论】:

      猜你喜欢
      • 2016-06-30
      • 2019-07-30
      • 2022-11-03
      • 2023-03-14
      • 1970-01-01
      • 2017-12-03
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多