第一节、创建Tensor-1
1.使用numpy创建tensor
#创建Tensor的方法一:numpy
a=np.array([2,3.3])#表示导入dimension=1的张量
print(torch.from_numpy(a))
print(torch.from_numpy(a).dim())#1
a=np.ones([2,3])#表示导入dimension为2的张量,值全部用1来填充
print(torch.from_numpy(a))
print(torch.from_numpy(a).dim())#2
2.使用torch创建tensor
#创建Tensor的方法二
a=torch.Tensor([2.,3.3])
print(a)
print(a.dim())#1
a=torch.Tensor([[2.,3.3],[1.,4.4]])
print(a)
print(a.dim())#2
a=torch.FloatTensor(2,3)#dimension=2
print(a)
print(a.dim())#2
a=torch.IntTensor(1,2,3)#dimension=3
print(a)
print(a.dim())#3
a=torch.empty(2,3)#dimension=2
print(a)
print(a.dim())#2
3.设置tensor默认的数据类型
#设置tensor默认类型:set_default_tensor_type()
num=torch.tensor([1.,3.3])
print(num.type())#torch.FloatTensor
torch.set_default_tensor_type(torch.DoubleTensor)#将默认的FloatTensor改变成DoubleTensor
num1=torch.tensor([2.,4.4])
print(num1.type())#torch.DoubleTensor
第二节、创建Tensor-2
1.均匀分布
#均匀分布,数值在(0,1)之间
a=torch.rand(3,3)#表示dimension=2
print(a)
print(torch.rand_like(a))#rand_like传入的参数是变量,rand传入的参数是shape
print(a.dim())#2
#均匀分布,整数,数字在[x1,x2)之间
b=torch.randint(1,10,[3,3])#表示得出的数在[0,10)之间,[3,3]是shape
print(b.dim())#2
print(b)
2.正态分布
#正态分布:在0的附近跳动
a=torch.randn(3,3)#表示随机生成dimension=2的三行三列的张量
print(a)
print(a.dim())#2
b=torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1))
print(b)
print(b.dim())#是dimension=1,里面有10个值的张量
3.将所有元素赋值成同一个值
#把所有元素全部赋值成一个元素
num=torch.full([3,3],7)#dimension=2,三行三列的张量
print(num)
print(num.dim())
num=torch.full([],7)#标量7
print(num)
print(num.dim())#0
num=torch.full([1],7)#张量7,dimension=1
print(num)
print(num.dim())#1
4.torch.linspace()
#torch.linspace()
a=torch.linspace(0,10,11)
print(a)#根据间隔平均分成有11个数,等差数列
print(a.dim())#1
a=torch.linspace(0,10,10)
print(a)#根据间隔平均分成10个数,等差数列
print(a.dim())#1
a=torch.linspace(0,10,4)
print(a)#根据间隔平均分成4个数,等差数列
print(a.dim())#1
5.torch.logspace()
#torch.logspace()
a=torch.logspace(0,-1,10)
print(a)#分割成10个数,x1,x2,x3,...,x10,结果分别是10^x1,10^x2,...,10^x10
print(a.dim())#1
6.torch.ones()和torch.zeros()
#生成全部为0的
a=torch.zeros(3,3)
print(a)
print(a.dim())#2
#生成全部为1的
a=torch.ones(3,3)
print(a)
print(a.dim())
7.torch.eye()
#生成对角线为1,其他全是0的
a=torch.eye(3,3)
print(a)
print(a.dim())#2
a=torch.eye(3)
print(a)
print(a.dim())#2
8.torch.randperm()
#torch.randperm()
a=torch.randperm(10)#[0,10)之间随机分散开
print(a)
num1=torch.rand(2,3)
num2=torch.rand(2,2)
idx=torch.randperm(2)
print(idx)#表示[0,1)打乱顺序
print(num1)
print(num2)
print(num1[idx])
print(num2[idx])