pytorch(一)--張量創建彙總

一,張量(Tensor)
在這裏插入圖片描述所謂張量,其實就是一個多維數組,它是標量,向量,矩陣的高維拓展。

二,Tensor 與 Variable
Variable 是 torch.autograd 中的數據類型,主要用於封裝Tensor,進行自動求導。如下圖
在這裏插入圖片描述data: 被包裝的Tensor
grad: data的梯度
grad_fn: 創建Tensor的Function,是自動求導的關鍵
requires_grad: 指示是否需要梯度
is_leaf: 指示是否爲葉子結點

但是從Pytorch0.4.0開始,Variable併入Tensor裏,變成下圖
在這裏插入圖片描述
dtype: 張量數據類型,如torch.FloatTensor, torch.cuda.FloatTensor(這個張量指在GPU上運行)
shape: 張量的形狀
deviece: 張量所在設備(CP或GPU),決定張量是否加速

三,張量的創建
1,直接創建
在這裏插入圖片描述這裏舉個例子,創建一個tensor
在這裏插入圖片描述運行後結果:
在這裏插入圖片描述
2,從一個Numpy數組來創建張量
在這裏插入圖片描述舉一個例子
在這裏插入圖片描述代碼運行完,你會發現由於共享內存,Nump數組的改變,會引起tensor的改變。同樣,tensor改變也會引起numpy改變。

3,依據數值創建Numpy數組
在這裏插入圖片描述可能看完,感覺out有點難理解,下面舉個例子
在這裏插入圖片描述運行後:
在這裏插入圖片描述發現兩個的地址是一樣的,即t被賦給了out

除此之外,依據數值創建的還有
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

4,依概率分佈創建張量
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章