在pytorch中,Tensor是以引用的形式存在的,故而并不能直接像python交換數據那樣
a = torch.Tensor(3,4)a[0],a[1] = a[1],a[0]# 這會導致a的結果為a=(a[1],a[1],a[2])# 而非預期的(a[1],a[0],a[2])
這是因為引用賦值導致的,在交換過程,如下所示,當b的值賦值與a的時候,因為tmp指針與a是同一變量的不同名,故而tmp的內容也會變為b。
# 交換a,ba,b = b,a# 等價于tmp = aa = b #此時,tmp = a= bb = tmp
故而在我們通過另外一種方式來對其進行交換,通過對下標索引的方式,對其進行交換
a = torch.Tensor(3,4)index = [1,0,2]a = a[index]
以上這篇pytorch 調整某一維度數據順序的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答