variable型別是什麼
variable
tensor1 = torch.floattensor([[1,2],[3,4]]) # 建立tensor
variable = variable(tensor1, requires_grad = true) # 建立variable。其中requires_grad是誤差反向傳播、計算梯度的標記
print(tensor1)
print(variable)
這樣得到的tensor和variable表面上一樣,但實際上不一樣,variable其中的一部分是tensor,另外還包括梯度等,而且還在「默默」構建乙個圖。
t_out = torch.mean(tensor1*tensor1)
v_out = torch.mean(variable*variable)
v_out.backward() # 模擬 v_out 的誤差反向傳遞
(tensor1*tensor1實際是在對應位置數字平方,建立新的2*2矩陣,取mean是將4個數字加起來除以4,變成乙個數字)
又經過這一操作之後
# v_out = 1/4 * sum(variable*variable) 實際算式
# d(v_out)/d(variable) = 1/4*2*variable = variable/2 注意這裡是對variable求梯度
然後輸出
print(variable.grad) # variable 梯度
print(variable) # variable 形式
莫煩pytorch學習筆記
此處x,y為資料集的tensor torch dataset data.tensordataset data tensor x,target tensor y loader data.dataloader dataset torch dataset,batch size batch size,shu...
莫煩pytorch學習筆記2
類似numpy,pytorch就是在神經網路領域代替numpy的模組 神經網路在做什麼?pytorch類似tensorflow使用tensor表示高維資訊 參考pytorch環境搭建 或者看pytorch官方文件 官網命令安裝了兩個東西 可以進行一些矩陣相關的運算 莫煩莫煩 激勵函式必須使可微分的,...
莫煩pytorch批訓練
import torch import torch.utils.data as data 包裝資料類 tensordataset 包裝資料和目標張量的資料集,通過沿著第乙個維度索引兩個張量來 class torch.utils.data.tensordataset data tensor,targe...