torch.squeeze()、torch.unsqueeze()、torch.randn()、torch.nn.Linear()、torch.Tensor.expand_as

本文详细介绍了PyTorch中的torch.squeeze()用于移除张量中尺寸为1的维度,torch.unsqueeze()用于增加维度,torch.randn()生成标准正态分布的随机张量,torch.nn.Linear()实现线性变换,以及torch.Tensor.expand_as()使张量匹配另一张量的维度。同时提到了NumPy的numpy.mean()和numpy.std()用于计算平均值和标准差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

torch.squeeze()、torch.unsqueeze()、torch.randn()、torch.nn.Linear()、torch.Tensor.expand_as、numpy.mean(a, axis, dtype, out,keepdims )、numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims)

1、torch.squeeze()

torch.squeeze(input, dim=None, out=None)

  • input (Tensor) ,input为输入的tensor
  • dim (int, optional) ,dimension,只对输入tensor的该维度进行压缩
  • out (Tensor, optional),out输出的也是tensor

torch.squeeze()可以理解为对张量进行降维操作,若某一维度的维度值为1,则去除该维度该维度,若输入X的维度为(A×1×B×C×1×D) ,执行 torch.squeeze(X),输出tensor的形状为(A×B×C×D);
再如,input=(A×1×B) , squeeze(input, 0),0表示第一维度,第一维度值为A,不是1,所以不变; 执行squeeze(input, 1),1表示第二维度,第二维度值为1,则去除,因此 input=(A×B) 。
下面举例说明

#先注明torch.zeros()
#torch.zeros(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
>>> torch.zeros(2, 3)
tensor([[ 0.,  0.,  0.],
        [ 0.,  0.,  0.]])
>>> torch.zeros(5)
tensor([ 0.,  0.,  0.,  0.,  0.])
>>> x = torch.zeros(2, 1, 2, 1, 2)
>>> x.size()
#torch.Size 返回张量形状
torch.Size([2, 1, 2, 1, 2])
>>> y 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值