torch.Tensor文檔學習筆記


A torch.Tensor is a multi-dimensional matrix containing elements of a single data type.

張量(torch.Tensor)是包含單個數據類型元素的多維矩陣。

1、張量定義了如下八種CPU張量類型和八種GPU張量類型:

#CPU對應八種數據類型,GPU對應也有八種數據類型,如torch.cuda.FloatTensor([])
torch.FloatTensor([]) torch.DoubleTensor([]) torch.HalfTensor([]) torch.IntTensor([]) torch.LongTensor([]) torch.ShortTensor([]) torch.ByteTensor([]) torch.CharTensor([]) Data type CPU tensor GPU tensor 32-bit floating point torch.FloatTensor torch.cuda.FloatTensor 64-bit floating point torch.DoubleTensor torch.cuda.DoubleTensor 16-bit floating point torch.HalfTensor torch.cuda.HalfTensor 8-bit integer (unsigned) torch.ByteTensor torch.cuda.ByteTensor 8-bit integer (signed) torch.CharTensor torch.cuda.CharTensor 16-bit integer (signed) torch.ShortTensor torch.cuda.ShortTensor 32-bit integer (signed) torch.IntTensor torch.cuda.IntTensor 64-bit integer (signed)    torch.LongTensor         torch.cuda.LongTensor

2、數據的原地修改還是生成副本

#函數后面跟短下划線,表示就地修改
a=torch.Tensor([-1,-2])
b=torch.Tensor([-2,2])
print('a.abs() :',a.abs(),'\n','a:',a)
print('b.abs_() :',b.abs_(),'\n','b:',b)
# a.abs():
# 1
# 2
# [torch.FloatTensor of size 2]
#
# a:
# -1
# -2
# [torch.FloatTensor of size 2]
#
# b.abs_():
# 2
# 2
# [torch.FloatTensor of size 2]
#
# b:
# 2
# 2
# [torch.FloatTensor of size 2]

 

3、backward

 x=torch.tensor([[1,1],[1.,1.]],requires_grad=True)
out=x.pow(2).sum()
out.backward()
x.grad
Out[198]:
tensor([[ 2.,  2.],
        [ 2.,  2.]])

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM