Pytorch中.new()的作⽤⽬录
⼀、作⽤
创建⼀个新的Tensor,该Tensor的type和device都和原有Tensor⼀致,且⽆内容。
⼆、使⽤⽅法
如果随机定义⼀个⼤⼩的Tensor,则新的Tensor有两种创建⽅法,如下:
虚拟内存天上一个月亮inputs = torch.randn(m, n)
new_inputs = w()
new_inputs = w(inputs)
说话是一门艺术三、具体代码
import torch
rectangle_height = 1
rectangle_width = 4
inputs = torch.randn(rectangle_height, rectangle_width)
for i in range(rectangle_height):
for j in range(rectangle_width):
inputs[i][j] = (i + 1) * (j + 1)
print("inputs:", inputs)
new_inputs = w()
print("new_inputs:", new_inputs)
# Constructs a new tensor of the same data type as lf tensor.
print(pe(), pe())
北京取暖费标准
print('')
inputs = inputs.squeeze(dim=0)6号人
print("inputs:", inputs)
# new_inputs = w()
new_inputs = w(inputs)
print("new_inputs:", new_inputs)
很爱
# Constructs a new tensor of the same data type as lf tensor.
print(pe(), pe())
if torch.cuda.is_available():
device = torch.device("cuda")
inputs, new_inputs = (device), (device)
print(inputs.device, new_inputs.device)
结果如下:
可以看到不论inputs是多少维的,新建的new_inputs的type和device都与inputs保持⼀致
inputs: tensor([[1., 2., 3., 4.]])
new_inputs: tensor([])
torch.FloatTensor torch.FloatTensor
inputs: tensor([1., 2., 3., 4.])
new_inputs: tensor([])
糯米粉是什么粉torch.FloatTensor torch.FloatTensor
西餐厨师
cuda:0 cuda:0
四、实际应⽤(添加噪声)
可以对Tensor添加噪声,添加如下代码即可实现:
noi = w(inputs.size()).normal_(0,0.01) print(noi)
结果如下:
tensor([ 0.0062, 0.0137, -0.0209, 0.0072], device='cuda:0')