• lwg0452
    2021-10-20
    更正😀 mask = torch.tensor([[1, 0, 0], [1, 1, 0], [0, 0, 1]]) B = torch.masked_select(A, mask>0)

    作者回复: 你好,lwg0452。👍👍👍👍👍👍回答正确^^。

    
    25
  • optimus
    2022-03-24
    eye = torch.eye(3) torch.masked_select(A,eye>0)

    作者回复: 👍🏻👍🏻👍🏻👍🏻👍🏻👍🏻

    共 2 条评论
    2
  • Geek_fc975d
    2022-04-07
    抄作业 # 手动构建了一个True/False A = torch.tensor([[4,5,7],[4,9,8],[2,3,4]]) masked_index = torch.tensor( [[True,False,False], [True,True,False], [False,False,True] ]) torch.masked_select(A, masked_index) # 这篇课程,个人觉得重要的几个知识点 1. index_select返回的结果和输入是一个维度,而masked_select返回一维输出 2. split获取的是原输入的视图,也就是对split的结果的操作会影响原来的数据 3. stack和cat的一个不同点在于,stack会升维,而cat不会。

    作者回复: ^^ 👍🏻👍🏻👍🏻👍🏻

    
    1
  • A🐴@伯乐
    2022-09-07 来自北京
    import torch A=torch.tensor([[4,5,7], [3,9,8],[2,3,4]]) B=torch.tensor([[1,0,0],[1,1,0],[1,0,0]]) C=torch.masked_select(A, A*B!=0) print(C)

    作者回复: 👍🏻👍🏻👍🏻

    
    
  • 亚林
    2022-05-09
    这是个mask是不是就是传说中的数据打标

    作者回复: 你好,亚林,感谢留言。 差不多这个意思吧。和后面的图像分割中的mask类似。

    
    
  • Geek_a95f0e
    2021-10-29
    a=tc.tensor([[4,5,7],[3,9,8],[2,3,4]]) b=tc.tensor([1,0,0,1,1,0,0,0,1],dtype=tc.bool).reshape(3,3) c=tc.masked_select(a,b)

    作者回复: 你好,谢谢你的留言。👍🏻👍🏻👍🏻👍🏻👍🏻👍🏻👍🏻👍🏻完全正确^^.

    
    
  • 王骥
    2021-10-24
    input 表示待处理的 Tensor。mask 代表掩码张量,也就是满足条件的特征掩码。这里你需要注意的是,mask 须跟 input 张量有相同数量的元素数目,但形状或维度不需要相同。 老师,mask 须跟 input 张量有相同数量的元素数目,但形状或维度不需要相同 这句话该怎么理解? A = torch.tensor([[4, 5, 7], [3, 9, 8], [2, 3, 4]]) B = torch.masked_select(A, torch.tensor([[1, 0, 0], [1, 1, 0], [0, 0, 1]]) > 0) # B = torch.masked_select(A, torch.tensor([1, 0, 0, 1, 1, 0, 0, 0, 1]) > 0) 我尝试下面一种就会报错。

    作者回复: 你好,王骥。感谢你的留言。很赞的问题,这里“形状或维度不需要相同”,我们举个二维矩阵的例子,你可以只写“一行”,或者所有“行”,但是“列”的数量必须跟原来的数量一致。如下代码: a=torch.randn(3,5) #不会报错 mask=torch.tensor([True, False,False,True,True]) torch.masked_select(a,mask) #会报错 mask=torch.tensor([True, False,False,True]) torch.masked_select(a,mask) 此外,需要注意的是,官网强调:The shapes of the mask tensor and the input tensor don’t need to match, but they must be broadcastable。不过一般而言咱们用的变量基本多为broadcastable的。

    共 2 条评论
    
  • 李雄
    2021-10-23
    喜欢这节的内容。

    作者回复: 你好,李雄。感谢你的留言,也谢谢你的认可。希望能与你一起学习进步^^

    共 2 条评论
    
  • vcjmhg
    2021-10-21
    A = torch.tensor([[4, 5, 7], [3, 9, 8], [2, 3, 4]]) mask_matrix = torch.tensor([[1, 0, 0], [1, 1, 0], [0, 0, 1]]) B = torch.masked_select(A, mask == 1)

    作者回复: 你好,vcjmhg。👍🏻👍🏻👍🏻,每次的回答都很赞^^,加油~ 不过masked_select中的参数是mask_matrix不是mask。:)

    
    
  • 栗白
    2021-10-20
    A=torch.tensor([[4,5,7], [3,9,8],[2,3,4]]) B=torch.tensor([[1,0,0],[1,1,0],[0,0,1]]) C=torch.masked_select(A,B>0)

    作者回复: 你好,栗白。谢谢留言。👍👍👍👍👍👍👍👍完美。^^

    
    