torch.tensor 是這個包的核心類。如果設定它的屬性 .requires_grad 為 true,那麼它將會追蹤對於該張量的所有操作。當完成計算後可以通過呼叫 .backward(),來自動計算所有的梯度。這個張量的所有梯度將會自動累加到.grad屬性.
要阻止乙個張量被跟蹤歷史,可以呼叫 .detach() 方法將其與計算歷史分離,並阻止它未來的計算記錄被跟蹤。
為了防止跟蹤歷史記錄(和使用記憶體),可以將**塊包裝在 with torch.no_grad(): 中。在評估模型時特別有用,因為模型可能具有 requires_grad = true 的可訓練的引數,但是我們不需要在此過程中對他們進行梯度計算。
還有乙個類對於autograd的實現非常重要:function。
tensor 和 function 互相連線生成了乙個無圈圖(acyclic graph),它編碼了完整的計算歷史。每個張量都有乙個 .grad_fn 屬性,該屬性引用了建立 tensor 自身的function(除非這個張量是使用者手動建立的,即這個張量的 grad_fn 是 none )。
如果需要計算導數,可以在 tensor 上呼叫 .backward()。如果 tensor 是乙個標量(即它包含乙個元素的資料),則不需要為 backward() 指定任何引數,但是如果它有更多的元素,則需要指定乙個 gradient 引數,該引數是形狀匹配的張量。
pytorch官方教程中文版
pytorch 張量 張量的生成
張量的生成 import torch import numpy as np 使用tensor.tensor 函式構造張量 a torch.tensor 1.0,1.0 2.2 print a 獲取張量的維度 print 張量的維度 a.shape 獲取張量的形狀大小 print 張量的大小 a.si...
pytorch 張量重構view
view在pytorch中是用來改變張量的shape的,簡單又好用。pytorch中view的用法通常是直接在張量名後用.view呼叫,然後放入自己想要的shape。如 tensor name.view shape example 1.直接用法 x torch.randn 4,4 x.size to...
pytorch 張量 張量的資料型別
張量定義 import torch torch.tensor 1.2 3.4 dtype 獲取張量的資料型別,其中torch.tensor 函式生成乙個張量 torch.float32 torch.set default tensor type torch.doubletensor 設定張量的預設資...