【torch.Tensor.new_full】详解

用法

new_full(...)
    new_full(size, fill_value, dtype=None, device=None, requires_grad=False) -> Tensor

参数详解

  • fill_value (scalar): 填充输出张量的数字。
  • dtype (:class:torch.dtype, optional): 所需的返回张量类型。默认:None,表示类型相同。
  • device (:class:torch.device, optional): 所需的返回张量的设备。默认:None,表示设备相同
  • requires_grad :返回的张量是否记录梯度信息。默认:False

栗子

ten = torch.ones((2,), dtype=torch.float64)
new_ten=ten.new_full((3, 4), 3.141592)
print(new_ten.dtype,new_ten.device,new_ten.requires_grad)
print(new_ten)

【torch.Tensor.new_full】详解_第1张图片

作用

根据前面的栗子,有人就回想,与torch.ones有什么区别呢?可以看到下面的案例可以通过相同的方法得到同样的数值。
【torch.Tensor.new_full】详解_第2张图片
那么torch.Tensor.new_full有什么用呢?
细心的小伙伴,会发现在使用new_full的时候前面会有一个Tensor变量。而我们产生的New_Tensor在默认情况下是与原来的Tensor的device和dtype是一致的。这简化了我们的操作。
提醒
torch.Tensor.new_full使用前必须有对应一个Tensor,否则会报错。如下:
【torch.Tensor.new_full】详解_第3张图片

你可能感兴趣的:(#,pytorch,pytorch,深度学习,new_full)