深度學習【27】pytorch Variable變數方法的使用
阿新 • • 發佈:2019-01-28
這邊記錄一些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等等。