variable和tensor的區別

2021-10-23 16:24:17 字數 832 閱讀 6136

import torch

from torch.autograd import variable

tensor = torch.floattensor([[

1,2]

,[3,

4]])

variable = variable(tensor, requires_grad =

true

)t_out = torch.mean(tensor*tensor)

# 各個元素分別相乘,不是矩陣乘法

v_out = torch.mean(variable*variable)

'''v_out = 1/4sum(var*var)

x1 = 1 ,x2 = 2, x3 = 3, x4 = 4

v_out = 1/4(x1**2 + x2**2 + x3**2 + x4**2)

梯度就是分別對x求偏導

'''print

(v_out)

print

(variable.grad)

# 反向傳播之前梯度值為none

v_out.backward(

)# tensor不能反向傳播,而variable可以

print

(variable.grad)

# 反向傳播後的更新值,

Variable和tensor的計算

變數在torch中是建立乙個計算圖,但是相比較tensorflow和theano中的靜態圖,它是動態的,torch沒有placeholder,torch只能給計算圖傳遞變數 import numpy as np import torch from torch.autograd import vari...

Pytorch Tensor和tensor的區別

在pytorch中,tensor和tensor都能用於生成新的張量 a torch.tensor 1 2 a tensor 1 2.a torch.tensor 1 2 a tensor 1 2 首先,我們需要明確一下,torch.tensor 是python類,更明確地說,是預設張量型別torch...

tcl tk參考 變數和過程variable

variable 建立和初始化乙個名字空間變數variable?name value.name value?這個命令一般在名字空間中建立乙個或多個變數,每個變數 name使用 value初始化,最後乙個變數的 value是可選的。如果變數name不存在,就建立乙個,在這種情況下,如果指定了value...