在pytorch中,Tensor是以引用的形式存在的,故而并不能直接像python交換數(shù)據(jù)那樣
a = torch.Tensor(3,4)a[0],a[1] = a[1],a[0]# 這會(huì)導(dǎo)致a的結(jié)果為a=(a[1],a[1],a[2])# 而非預(yù)期的(a[1],a[0],a[2])
這是因?yàn)橐觅x值導(dǎo)致的,在交換過程,如下所示,當(dāng)b的值賦值與a的時(shí)候,因?yàn)閠mp指針與a是同一變量的不同名,故而tmp的內(nèi)容也會(huì)變?yōu)閎。
# 交換a,ba,b = b,a# 等價(jià)于tmp = aa = b #此時(shí),tmp = a= bb = tmp
故而在我們通過另外一種方式來對(duì)其進(jìn)行交換,通過對(duì)下標(biāo)索引的方式,對(duì)其進(jìn)行交換
a = torch.Tensor(3,4)index = [1,0,2]a = a[index]
以上這篇pytorch 調(diào)整某一維度數(shù)據(jù)順序的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選