pytorch 实现删除tensor中的指定行列

时间:2022-10-31 14:50:21

前言

在pytorch中, 想删除tensor中的指定行列,原本以为有个函数或者直接把某一行赋值为[]就可以,结果发现没这么简单,因此用了一个曲线救国方法,希望如果有更直接的方法,请大家指出。

code

本质上是利用mask删除了指定行,然后重新指向。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a = torch.rand(4, 2)
print(a)
 
idx = 1
a = a[torch.arange(a.size(0))!=1]
print(a)
 
"""
tensor([[2.7775e-01, 3.7430e-01],
    [9.0373e-01, 8.1220e-02],
    [9.8638e-01, 8.6293e-01],
    [9.8139e-04, 9.8460e-02]])
    
tensor([[2.7775e-01, 3.7430e-01],
    [9.8638e-01, 8.6293e-01],
    [9.8139e-04, 9.8460e-02]])
"""

以上这篇pytorch 实现删除tensor中的指定行列就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_29007291/article/details/91042899