赞
踩
tensors张量:张量的概念类似于Numpy中的ndarray的数据结构,最大的区别在于Tensor可以利用GPU的加速功能。我们使用pytorch的时候,常规步骤是先将torch引用进来
- from __future__ import print_function
- import torch
x = torch.empty(5,3)
- #符合均匀分布
- x = torch.rand(5,3)
- #符合标准正态分布
- x = torch.randn(5,3)
对比有无初始化的矩阵,当声明一个未初始化的矩阵时,它本身不包含任何确切的值,当创建一个未初始化的矩阵时,分配给矩阵的内存中有什么数值就赋值给了这个矩阵,本质上时没有什么意义的数据。
x = torch.zeros(5,3,dtype=torch.long)
x = torch.tensor([5.5,3])
- #都一种方式创建一个size大小相同填充全为1的矩阵
- x = x.new_ones(5, 3, dtype=torch.double)
- print(x)
- #第二种方式,创建size相同随机数填充的矩阵
- x = torch.randn_like(x, dtype=torch.float)
- print(x)
获取他的维度信息,注意torch.size是一个元组,所以它支持左右的元组操作
- x=x.new_ones(5,3,dtype=torch.double)
- print(x)
- x.size()
矩阵的加法
- #加法方式1:
- y = torch.rand(5,3)
- print(x+y)
- #加法方式2:
- print(torch.add(x,y))
- #加法方式3:
- result = torch.empty(5,3) #创建一个(5,3)的空矩阵
- torch.add(x,y,out=result)
- print(result)
- #加法方式4
- y.add_(x)
- print(y)
有类似于Numpy的方式对张量进行操作
- print(x[:,1])#对第2列进行切片
- print(x[2,:])#对第3行进行切片操作
改变大小:如果你想改变一个 tensor 的大小或者形状,你可以使用 torch.view,注意操作需要保证数据元素的总数不变。
- x = torch.randn(4,4)
- y = x.view(16)
- z= x.view(-1,8)#-1代表的数值,是从其他维度推断出来的
- print(x.size(),y.size(),z.size())
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。