1. 程式人生 > >深度學習【27】pytorch Variable變數方法的使用

深度學習【27】pytorch Variable變數方法的使用

這邊記錄一些Variable變數相關的一些方法。

將一個numpy的張量轉成Variable:

Vtensor = torch.autograd.Variable(torch.LongTensor(np.int64(np.asarray(nptensor))))##torch.LongTensor確定變數型別,根據需要更改

類似reshape操作:

out = output.view(batchsize,3,-1)#output=[batchsize,3,256,256],變成[batchsize,3,256*256]的張量

類似numpy中按多個索引取值

#numpy
a = np.asarray([1,2,3,4,5]) indexList=np.asarray([3,2,0]) b = a[indexList] #b=[4,3,1] #pytorch b = a.index_select(2,indexList)#其中2表示要在那個座標下提取,a是一個Variable變數,indexList是一個LongTensor型別的Variable變數

類似clip函式

b = a.clamp(0,1)#將變數a,clip 到0-1之間

detach()函式

確保誤差不傳播到使用detach的結點前期的圖。

還有很多函式,如matmul,min,max等等。