用法
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.ones有什么区别呢?可以看到下面的案例可以通过相同的方法得到同样的数值。
那么torch.Tensor.new_full有什么用呢?细心的小伙伴,会发现在使用new_full
的时候前面会有一个Tensor变量。而我们产生的New_Tensor在默认情况下是与原来的Tensor的device和dtype是一致的。这简化了我们的操作。
提醒
torch.Tensor.new_full
使用前必须有对应一个Tensor,否则会报错。如下: