赞
踩
张量创建的方式有许多种
import torch
import numpy
torch.tensor([[0.1,1.2],[2.2,3.1],[4.9,5.2]])
上面是直接创建,这样的方式我们最容易理解。直接给出原始数据。需要注意的是,参数必须是一个数组,多个数组的话需要合成一个数组。
a = numpy.array([1,2,3])
t = torch.from_numpy(a)
t
因为机器学习中numpy比较常用,但是它们想利用pytorch进行训练就需要用这种方式将其转化为tensorf形式。
torch.zeros(2,3)
input = torch.empty(2,3)
torch.zeros_like(input)
torch.ones(2,3)
input = torch.empty(2,3)
torch.ones_like(input)
torch.full((2,3),np.pi)
input = torch.empty(3,4)
torch.full_like(input,np.pi)
torch.arange(start=0,end=10,step=0.5)
torch.linspace(start=0,end=10,steps=20)
torch.eye(5)
torch.normal(mean=0, std=1,size=(1,4))
torch.normal(mean=torch.arange(1.,11.),std=torch.arange(1.,0.,-0.1))
torch.randn(2,3)
以上都是创建正态分布的tensor变量的方法。其中,第一行用的均值和标准差都是标量,第二行都是张量;第三行是指定形状。
torch.rand(size=(2,3))
torch.randint(size=(2,3),low=10,high=20)
torch.randperm(5)
x = torch.randn(size=(2,3))
torch.cat((x,x,x),dim=1)
x = torch.randn(size=(2,3))
torch.stack((x,x,x))
x = torch.empty(2,6)
torch.chunk(input = x,dim=0,chunks=2)
x = torch.empty(size=(5,2))
print(f"x:{x}")
torch.split(tensor=x,split_size_or_sections=[2,3],dim=0)
x = torch.empty(size=(5,2))
print(f"x:{x}")
torch.split(tensor=x,split_size_or_sections=[2,3],dim=0)
x = torch.randn(size=(3, 4))
indices = torch.tensor([0, 2])
result = torch.index_select(input=x, index=indices, dim=0)
print(f"x:\n{x}")
print(f"="*40)
print(f"x's 0 and 2 row :\n{result}")
x = torch.randn(size=(3,4))
mask = x.ge(0.5) #比较是否大于0.5
print(f"x:\n{x}")
print(f"mask:\n{mask}")
print(f"result:\n{torch.masked_select(input=x,mask=mask)}")
a = torch.arange(start=0,end=10,step=1)
torch.reshape(a,(2,5))
x = torch.randn(size=(2,3))
result = torch.transpose(input=x,dim0=0,dim1=1)
print(f"x:\n{x}")
print("-"*50)
print(f"result:\n{result}")
x = torch.randn(size=(2,3))
result = torch.t(x)
print(f"x:\n{x}")
print(f"-"*40)
print(f"result:\n{result}")
x = torch.randn(size=(2,3))
result = torch.squeeze(x)
print(f"x:\n{x}")
print(f"result:\n{result}")
x = torch.tensor([1,2,3,4,5])
result = torch.unsqueeze(x,1)
print(f"x:\n{x}")
print(f"result:\n{result}")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。