Pytorch—tensor相关运算

一、检查是否是tensor对象
torch.is_tensor(x)

二、构造一行两列的随机数
y = torch.rand(1,2)

三、张量有几个元素
torch.numel(y)

四、创建全0的tensor
z = torch.zeros(3,3)

五、创建对角线为1的tensor
torch.eye(3,3)

六、将numpy转换为tensor
import numpy as np

x = np.array([3,4,5,6,7])

torch.from_numpy(x)

七、切分 linspace,steps表示切分的份额数
torch.linspace(2,10,steps=5)
 

八、均匀分布,值在0和1之间
torch.rand(10)

九、正态分布,均值为0,方差为1
torch.randn(10)

十、选择随机数,顺序打乱
torch.randperm(10)

十一、生成一个区间的数,(10,30),5步长,不包含30
torch.arange(10,30,5)

十二、获取行或列的最小值和最大值的索引
x = torch.randint(1,99,(3,3))

# dim为1表示行,0表示列
torch.argmin(x,dim=0)

torch.argmax(x,dim=0)

十三、连接
x = torch.randint(1,10,(2,3))

# 竖轴连接
torch.cat((x,x))

# 横轴连接
torch.cat((x,x),dim=1) #1是横轴

十四、切块 chunk
a = torch.randint(1,10,(3,3))

torch.chunk(a,2,0) #0表示横向切一刀,1表示纵向切一刀

torch.chunk(a,2,1) 

十五、index_select 根据索引选择
x = torch.randn(4,4)

indices = torch.tensor([0,2]) # 下标选择0和2

torch.index_select(x,0,indices) # 横向0行和2行

十六、split 风格
x = torch.tensor([1,2,3,4,5,6,7])

torch.split(x,3) # 切割三个一份

十七、转置.t和.transpose
x = torch.tensor([[1,2],[3,4]])

x.t() === x.transpose(1,0) #效果一致

十八、tensor运算
x = torch.tensor([[1,2],[3,4]])

torch.add(x,1) #整体加一

torch.mul(x,2) #整体乘2

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

獜洛橙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值