【问题标题】:One Hot Encoding in Pytorch for two classesPytorch 中两个类的一个热编码
【发布时间】:2021-09-26 04:52:34
【问题描述】:

我有一个 0 和 1 的张量,我计算如下:

for i in range(0,len(capital)):
if capital[i] <= 0:
    y.append(0)
else:
    y.append(1)
capital_t =  torch.Tensor(y)

我想做一个分类,所以张量 capital_t 中的零和一必须是两个类。为此,我正在尝试进行一次热编码:

one_hot_capital = F.one_hot(capital_t,2)

我不断收到以下错误:

RuntimeError: one_hot 仅适用于索引张量。

谁能帮我调试一下?

谢谢!

【问题讨论】:

    标签: python pytorch one-hot-encoding


    【解决方案1】:

    错误信息不清楚,“索引张量”表示数据类型为Tensor.long的张量:

    >>> F.one_hot(capital_t.long(), 2)
    

    这将产生一个形状为(*capital_t.shape, n_classes) 的张量,这里对应于(len(capital), 2)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-23
      • 2023-03-18
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      • 2019-07-06
      • 2021-09-11
      相关资源
      最近更新 更多