Variable和tensor的計算

2021-08-26 14:44:56 字數 1209 閱讀 9297

變數在torch中是建立乙個計算圖,但是相比較tensorflow和theano中的靜態圖,

它是動態的,torch沒有placeholder,torch只能給計算圖傳遞變數

import numpy as np

import torch

from torch.autograd import variable

tensor=torch.tensor([[1,2],[3,4]])

variable=variable(tensor,requires_grad=true)

#requires_grad是參不參與誤差反向傳播, 要不要計算梯度

print(tensor)

print(variable)

t_out=torch.mean(tensor*tensor)

v_out=torch.mean(variable*variable) # v_out = 1/4 * sum(variable*variable)

print(t_out)

print(v_out)

v_out.backward() # v_out的反向傳播

# 初始化變數的梯度

print(variable.grad) # d(v_out)/d(variable) = 1/4*2*variable = variable/2

print(variable) #variable format

print(variable.data) #tensor format

print(variable.data.numpy()) #numpy format

輸出:

tensor([[1., 2.],

[3., 4.]])

tensor([[1., 2.],

[3., 4.]], requires_grad=true)

tensor(7.5000)

tensor(7.5000, grad_fn=)

tensor([[0.5000, 1.0000],

[1.5000, 2.0000]])

tensor([[1., 2.],

[3., 4.]], requires_grad=true)

tensor([[1., 2.],

[3., 4.]])

[[1. 2.]

[3. 4.]]

variable和tensor的區別

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 ...

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...