我有一个名为84x84
的target
pytorch张量。我需要使用由84x84
和True
组成的False
布尔值numpy数组对其进行遮罩。
[执行target = target[mask]
时,出现错误TypeError: can't convert np.ndarray of type numpy.bool_. The only supported types are: double, float, float16, int64, int32, and uint8.
令人惊讶的是,只有在GPU上运行时,才会出现此错误。在CPU上运行时,一切正常。我该如何解决?
我认为这些类型有些混乱。但这有效。
import torch
tensor = torch.randn(84,84)
c = torch.randn(tensor.size()).bool()
c[1, 2:5] = False
x = tensor[c].size()
为了测试,我创建了具有随机值的张量。之后,将3个元素设置为False。在最后一步中,我看得到由84 ^ 2-3产生的7053。
希望有帮助的方式。