关于torch.cumprod()累积连乘

import torch
in_=torch.tensor([[2., 4., 6.], [1., 3., 5.]])
print(in_)
out_prod = torch.cumprod(in_,dim=0)#竖着累积
print("cumulative product:", out_prod)
out_prod = torch.cumprod(in_,dim=1)#横着累积
print("cumulative product:", out_prod)
out1=torch.tensor([[[0., 1.0, 3., 0.],
                    [0., 0., 0., 0.],
                    [0., 0., 0., 0.]],

                    [[0., 0., 0., 0.],
                    [0., 0., 0., 0.],
                    [0., 0., 0., 0.]]])
print(out1.shape)
print(out1[:, :, 1]==0)#维度为1的数据为0则是true,否则是false
print((out1[:,:,1]==0).float())#将布尔类型转化为true为1,false为0
print((out1[:,:,0]==0).float())
print((out1[:,:,0]==0).float()*(out1[:,:,1]==0).float())
mask = torch.cumprod( (out1[:, :, 0] == 0).float() * (out1[:, :, 1] == 0).float(), dim=0)#先对应相乘然后再按竖着相乘
print(mask)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
torch.cumprod是PyTorch深度学习框架中的一个函数,用于对输入张量按指定维度进行逐元素累积乘积操作。具体来说,它返回一个与输入张量大小相同的张量,其中每个元素的值等于其在输入张量及之前所有元素的乘积。 举个例子,如果有一个形状为(3, 4)的张量x,我们可以使用torch.cumprod(x, dim=0)对它沿着第0个维度进行逐元素累积乘积操作,得到一个形状相同的新张量y。 如果我们有一个长度为N的向量x,我们可以使用torch.cumprod(x, dim=0)对它进行逐元素累乘操作,得到一个长度为N的新向量y,其中每个元素yi等于x1乘以x2乘以...乘以xi。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [torch.cumprod函数详解](https://blog.csdn.net/qq_45138078/article/details/129860167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Pytorch torch.cumprod()的简单理解与用法](https://blog.csdn.net/qq_40714949/article/details/126667931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值