pytoch基础知识--Variable变量

 pytorch中的变量有三个属性,分别是data表示变量中的具体值, grad表示这个变量反向传播的梯度,这个的计算方式下面有专门的一个演示程序, grad_fn表示是通过什么操作得到这个变量的例如( 加减乘除、卷积、反置卷积)

其位于torch的autograd中

import torch
from torch.autograd import Variable

对比在pytorch中常用的单元tensor(张量),二者是可以相互转化的,区别在于tensor用于在CPU上计算,而Variable用于在GPU上。所以说这就是为什么pytorch加载图像的时候一般都会使用Variable变量。

附tensor,Variable,numpy.array的转化代码

#将numpy矩阵转换为Tensor
sub_ts = torch.from_numpy(sub_img)   #sub_img为numpy类型

#将Tensor张量转化为numpy
sub_np1 = sub_ts.numpy()             #sub_ts为tensor张量

#将numpy转换为Variable
sub_va = Variable(torch.from_numpy(sub_img))

#将Variable张量转化为numpy
sub_np2 = sub_va.data.numpy()          #sub_va为Variable类型

#将Tensor张量转化为Variable
sub_var = Variable(sub_ts, requires_grad = True)  #sub_ts为tensor

 

posted @ 2021-10-05 11:34  llllrj  阅读(243)  评论(0编辑  收藏  举报