使用最大池化层减小张量的尺寸

时间:2020-04-14 11:01:11

标签: python pytorch max-pooling

我的问题很简单:

如何使用最大池化层将列表或张量的维数减少到列表中的512个元素:

我正在尝试以下代码:

    input_ids = tokenizer.encode(question, text)
    print(input_ids) # input_ids is a list of 700 elements
    m = nn.AdaptiveMaxPool1d(512)
    input_ids = m(torch.tensor([[input_ids]])) # convert the list to tensor and apply max-pooling layer

但是出现以下错误:

RuntimeError: "adaptive_max_pool2d_cpu" not implemented for 'Long'

所以,请帮助找出错误所在

1 个答案:

答案 0 :(得分:0)

问题出在您的input_ids上。您正在将一个long类型的张量传递给AdaptiveMaxPool1d,只需将其转换为float。

    input_ids = tokenizer.encode(question, text)
    print(input_ids) # input_ids is a list of 700 elements
    m = nn.AdaptiveMaxPool1d(512)
    input_ids = m(torch.tensor([[input_ids]]).float()) #
相关问题