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)