- torch.empty() 创建任意数据类型的张量
- torch.tensor() 默认创建torch.float32类型的张量
- 所以torch.Tensor() 和 torch.empty() 的差不多;
- 都需要进一步操作和赋值,以确保张量包含有用的数据;都可以使用参数可以指定张量的形状、输出张量、数据类型。
- 例如:Linear层,self.weight = Parameter(torch.empty((out_features, in_features), **factory_kwargs)),通过
init.kaiming_uniform_(self.weight, a=math.sqrt(5))
是使用 Kaiming(也称为 He)初始化方法来初始化神经网络层的权重。 - 例如:GATConv中,self.att_l = Parameter(torch.Tensor(1, heads, out_channels)),然后调用self.reset_parameters(),通过glorot(self.att_l)来初始化;
---------------------------------------------------------------------------------------------------------------------------------
在PyTorch中,Tensor
是最重要的数据类型之一,它表示了一个多维的数组或矩阵,并支持多种数学运算。在调试PyTorch代码时,理解Tensor
类型的各个属性是非常重要的。下面是Tensor
类型的几个常用属性及其意义: