torch:tensor的创建

1、numpy数组中转换而来,数值保持不变

a = np.array([2, 3.3])
​
torch.from_numpy(a)  
a = np.ones([2, 3])
torch.from_numpy(a)

2、通常小写的tensor传入List, FloatTensor传入shape

torch.tensor([2., 3.2]) 
torch.tensor([[2., 3.2], [2., 3.2]])
​
torch.FloatTensor(2) 

直接生成一个随机的数据

  • Torch.empty()
  • Torch.FloatTensor(d1, d2, d3)

3、随机初始化

torch.rand(3, 3) # 生成[0,1]之间的随机数字
​
# *_like()函数
a = torch.rand(3, 3)
torch.rand_like(a) # 生成一个和a同shape的函数
​
torch.randint(1, 10, [3, 3]) # 第一个参数是取值极小值,第二个极大值[1, 10),最后一个参数是形状
​
torch.randn(3, 3) # 正态分布,均值为0 方差为1
# 自定义方差 均值
torch.normal(mean=torch.full([10], 0), std=torch.arange(1, 0, -0.1))
​
# 将tensor赋值为一个值
torch.full([2, 3], 7)  # tensor([[7., 7., 7.],
                       #         [7., 7., 7.]])
torch.full([], 7)      # tensor(7.)
​
# 生成等差数列
torch.arange(0, 10) # 生成[0, 10)  tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
torch.arange(0, 10, 2) # tensor([0, 2, 4, 6, 8])
​
torch.linspace(0, 10, step=4) # 将[0, 10]等分切割成4个数 
#tensor([0.0000, 3.3333, 6.6667, 10.0000])
torch.logspace(0, -1, step=10)
# tensor([1.0000, 0.7743, 0.5995, 0.4642, 0.3594, 0.2783, 0.2154, 0.1668, 0.1292, 0.1000])  [0, -1]为指数,可以使用base设置底数

一些其他的生成:

生成全为1的张量torch.ones(3, 3)
生成全为零的张量torch.zeros(3, 3)
生成对角线为1的张量torch.eye(3, 3)
如果形状不是方阵,将方阵变为单位阵,其他部分为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值