使用最大池化层降低张量的维数



我的问题很简单:

如何使用最大池化层将列表或张量的维度减少到列表中的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'

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

问题出在input_id上。您正在将类型为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()) #

最新更新