pytorch常用api

1数据创建
1.1自定义
torch.Tensor([shape]):其创建的tensor里面值往往为0,非常大或非常小,多用于创建未初始化数据(其可以定义数据类型IntTensor,FloatTensor…),之后覆盖掉。虽然他也可以和tensor一样接收数据,但编程中便于区分,只用他来创建未初始化数据
torch.tensor([list]):list初始创建tensor
torch.as_tensor():list,np等数据转tensor
torch.from_numpy():np数据转tensor
1.2api
Torch.rand([shape]):[0,1)随机初始化
torch.randint(min,max,[shape]):[min,max)随机初始化整数
Torch.randn([shape]):N(0,1)正态分布随机初始化
Torch.normal(mean,std):N(mean,std)正态分布随机初始化(mean,std设置形状)
Torch.full([shape],data):创建全是data数组
torch.arange(start,end,steps):steps指的是间隔
torch.linspace(start,end,steps):steps指的是整个等差数列的数目
Torch.ones,zeros,eye,ones_like,zeros_like:生成对应形状的tensor
Torch.randperm(num):生成0~num的tensor,但位置是随机的,边缘torch实现random.shuffle
2数据检查与计算
a.type():检查数据类型
Isinstance(a,torch.数据类型):对数据进行合法化检验
torch.eq,equal,前者返回一个Tensor,后者返回True,False。
torch.matmul():矩阵相乘 ;*:元素对应相乘
Torch.floor,ceil,round,trunc,frac:向上,下取整,四舍五入,整数小数
Torch.clamp(input,min,max):将数据约束在min,max之间
Torch.argmin,argmax(dim,keepdim):最值对应索引,默认索引是tensor展平后对应的一个值,dim控制维度,keepdim不设置则只有dim的一个列表,设置则保持原tensor对应位置
Torch.topk(k,dim):最大的前k个索引及其对应结果
Torch.kthvalue(k,dim):第k小的索引及其对应结果
3索引与变换
a[0:10:2]:隔两点采样(前闭后开)
a[…,None]:…代码自动推测,None填充一个维度
Index_select(input, dim, index):按索引采样
Mask_select(input, mask):mask通常使用input.ge大于某个阈值,或者自己设计算法得到二值掩膜获得,返回掩膜区域一维数组
View,reshape:只需要满足前后torch.size相同便可进行维度变换
两者基本一致,torch之前用的view,后来为了和np一致,加了reshape函数
Squeeze(input,dim):将input中维度数值为1的维度去除,可以指定dim维度
unsqueeze(input, dim):在input的dim增加一维
Expand(input,dim):扩张前对应dim=1才能进行扩张,这里的dim指的是扩张后的维度,当dim=-1时说明该维度保持与扩张前维度一致
Repeat(input,dim):这里的dim指的是将之前的对应dim通道repeat的次数,所以不要求重复前dim=1
T,Transpose:.t操作只能用在二维,transpose可以多维,将矩阵转置
Permute(input,dim):该函数实现维度交换,这里的dim指的是交换后dim的索引
Cat(seq, dim):将seq在dim维度进行拼接:
Stack(seq,dim):dim维度前面增加一个维度,然后该维度的序列是对应的序列值.
Spilt(seq,dim):按照seq长度进行拆分
Chunk(num,dim):按照num数目进行拆分
a=torch.rand(4,3,28,28),b=torch.rand(4,3,28,28);
C=torch.cat([a,b],dim=1),c.size=(4,6,28,28);d=torch.stack([a,b],dim=1),d.size=(4,2,3,28,28)
e,h=torch.spilt([3,3],dim=1),e=a,h=b;m,n=torch.chunk(2,dim=1);m=a,n=b
Where(condition,x,y):由condition决定返回x还是y
Con=[0.5,0.6,0.3,0.7],a=[0,0,0,0],b=[1,1,1,1],torch.where(con>=0.5,a,b)->(0,0,0,1)
Gather(input, dim, index):收集操作,可以理解为查表,input是需要查的表,index是收集的元素
index=torch.tensor([3,4,1]),label=torch.tensor([0,100,200,300,400,500]),
torch.gather(label,dim=0,index=index)->[300,400,100]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值