Python pytorch中.data的用途是什么
我刚从spectrum.py文件中得到代码。部分代码在下面。我真的不明白.data的用途是什么,这是某个类中的方法吗?如果是,它属于哪一类Python pytorch中.data的用途是什么,python,generative-adversarial-network,Python,Generative Adversarial Network,我刚从spectrum.py文件中得到代码。部分代码在下面。我真的不明白.data的用途是什么,这是某个类中的方法吗?如果是,它属于哪一类 import torch from torch.optim.optimizer import Optimizer, required from torch.autograd import Variable import torch.nn.functional as F from torch import nn from torch import Tensor
import torch
from torch.optim.optimizer import Optimizer, required
from torch.autograd import Variable
import torch.nn.functional as F
from torch import nn
from torch import Tensor
from torch.nn import Parameter
def l2normalize(v, eps=1e-12):
return v / (v.norm() + eps)
class SpectralNorm(nn.Module):
def _make_params(self):
w = getattr(self.module, self.name)
height = w.data.shape[0]
width = w.view(height, -1).data.shape[1]
u = Parameter(w.data.new(height).normal_(0, 1), requires_grad=False)
v = Parameter(w.data.new(width).normal_(0, 1), requires_grad=False)
u.data = l2normalize(u.data)
v.data = l2normalize(v.data)
w_bar = Parameter(w.data)
好的,所以SpectralNorm.\uuuuu init\uuuuuuu设置self.module=module和self.name=name默认值:权重,这是一个构造函数参数。这似乎被称为so SpectralNormann.Conv2d3,conv_dim,4,2,1,所以模块是一个实例,它是子类-根据我们最终找到的。数据是w的一个属性,它是我们不知道的一个实例,因为getattrself.module,self.name可以是任何东西。作为猜测,w.data是一个numpy数组,因为它有一个.shape属性,它是一个元组!我刚刚检查了numpy文档,它说numpy.ndarray.data表示指向数组数据开头的Python缓冲区对象。数据实际上是一个张量对象。