1. 程式人生 > >我在讀pyTorch文件(二)

我在讀pyTorch文件(二)

  1. bool = torch.is_tensor(x):判斷x是否為pytorch張量;
  2. bool = torch.is_storage(x):判斷x是否為pytorch物件;
  3. N = torch.numel(x):輸出pytorch張量x的元素數;
  4. x = torch.eye(n):輸出n*n的二維單位矩陣;
  5. y = torch.from_numpy(x):將numpy矩陣x轉化為torch張量y,共享記憶體;
  6. x = torch.linspace(start, end, step):輸出一維間隔張量x;
  7. x = torch.logspace(start, end, step):輸出一維指數間隔張量x;
  8. x = torch.ones(dim0,dim1,dim2,…):輸出一維全1張量x;
  9. x = torch.rand(dim0,dim1,dim2,…):輸出一維隨機張量x,隨機數範圍[0,1];
  10. x = torch.randn(dim0,dim1,dim2,…):輸出一維隨機張量x,服從均值為0方差為1的正態分佈;
  11. x = torch.randperm(n):輸出從0到n-1的隨機整數排列張量;
  12. x = torch.arange(start, end, step):輸出一維間隔張量x;
  13. x = torch.range(start, end, step):與12有細小差別,建議用12;
  14. x = torch.zeros(dim0,dim1,dim2,…):輸出一維全0張量x;
  15. y = torch.cat((x1,x2,x3,…), dimension):張量連線函式;
  16. y = torch.chunk(x, chunks, dim):對x在給定軸dim上進行切片成chunks塊;
  17. y = torch.gather(x, dim, index):根據dim從x中輸出index索引矩陣對應的張量;
  18. y = torch.index_select(x, dim, index):根據dim從x中輸出index索引矩陣對應的張量向量;
  19. y = torch.masked_select(x, mask):根據mask矩陣取出取輸入張量x中的指定項,將取值返回到一個新的1D張量;
  20. y = torch.nonzero(x,):輸出包含輸入x中非零元素索引的張量,輸出張量中的每行包含輸入中非零元素的索引;
  21. y = torch.split(x, split_size, dim):將輸入張量x沿著維度dim分割成相等形狀的張量;
  22. y = torch.squeeze(input, dim=None):將輸入張量大小為1的維度進行擠壓,若給定dim,則若dim維度為1則進行擠壓, 返回張量與輸入張量共享記憶體,所以改變其中一個的內容會改變另一個;
  23. y = torch.stack(sequence, dim):沿著一個新維度對輸入張量序列進行連線,序列中所有的張量都應該為相同形狀;
  24. y = torch.t(x):對二維張量x進行轉置;
  25. y = torch.transpose(x, dim0, dim1):對輸入張量x進行轉置,交換維度dim0和dim1,輸出張量與輸入張量共享記憶體;
  26. y = torch.unbind(x,dim):移除指定維後,輸出一個元組,包含了沿著指定維切片後的各個切片;
  27. y = torch.unsqueeze(x, dim):輸出一個新的張量,對輸入的制定維度插入維度 1,返回張量與輸入張量共享記憶體;