【问题标题】:Delete an element from torch.Tensor从 torch.Tensor 中删除一个元素
【发布时间】:2020-10-03 22:51:34
【问题描述】:

我正在尝试从张量中删除一个项目。

在下面的示例中,如何从张量中删除第三项?

tensor([[-5.1949, -6.2621, -6.2051, -5.8983, -6.3586, -6.2434, -5.8923, -6.1901,
         -6.5713, -6.2396, -6.1227, -6.4196, -3.4311, -6.8903, -6.1248, -6.3813,
         -6.0152, -6.7449, -6.0523, -6.4341, -6.8579, -6.1961, -6.5564, -6.6520,
         -5.9976, -6.3637, -5.7560, -6.7946, -5.4101, -6.1310, -3.3249, -6.4584,
         -6.2202, -6.3663, -6.9293, -6.9262]], grad_fn=<SqueezeBackward1>)

【问题讨论】:

    标签: python pytorch torch


    【解决方案1】:

    我认为使用索引这样做更具可读性。

    t[t!=t[0,3]]
    

    结果与下面的cat 解决方案相同。

    小心:这通常适用于浮点数,但请注意,如果 [0,3] 的值在数组中多次出现,您将删除所有出现这个项目。

    【讨论】:

      【解决方案2】:

      你可以使用 numpy 的 r_ 索引技巧

      y = x[:, np.r_[:3, 4:36]]
      

      【讨论】:

        【解决方案3】:

        您可以先通过索引过滤数组,然后将两者连接起来

        t.shape
        torch.Size([1, 36])
        
        t = torch.cat((t[:,:3], t[:,4:]), axis = 1)
        
        t.shape
        torch.Size([1, 35])
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-05
          • 2014-10-22
          • 1970-01-01
          • 2012-06-19
          • 2011-08-16
          • 1970-01-01
          • 2023-03-22
          • 1970-01-01
          相关资源
          最近更新 更多