【问题标题】:Pytorch mask tensor with boolean numpy array带有布尔 numpy 数组的 Pytorch 掩码张量
【发布时间】:2020-04-23 13:44:50
【问题描述】:

我有一个名为 target84x84 pytorch 张量。我需要用84x84TrueFalse 组成的布尔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 上运行时,一切正常。我该如何解决这个问题?

【问题讨论】:

标签: python numpy pytorch torch


【解决方案1】:

我认为类型有些混乱。但这行得通。

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。

希望能有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    • 2021-05-21
    • 2019-10-29
    • 1970-01-01
    • 2019-04-05
    相关资源
    最近更新 更多