torch.cumprod实现累乘计算

cumprod取自"cumulative product"的缩写,即"累计乘法 "。

数学公式为:
y i = x 1 × x 2 × x 3 × . . . × x i y_i=x_1\times{x_2}\times{x_3}\times{...}\times{x_i} yi=x1×x2×x3×...×xi

官方链接:torch.cumprod

用法:

python 复制代码
import torch
a = torch.Tensor([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]])
r0 = torch.cumprod(a, dim=0)
print(r0)
# tensor([[ 1.,  2.,  3.,  4.,  5.],
#         [ 1.,  4.,  9., 16., 25.]])

r1 = torch.cumprod(a, dim=1)
print(r1)
# tensor([[  1.,   2.,   6.,  24., 120.],
#         [  1.,   2.,   6.,  24., 120.]])

我们自习观察r0和r1的区别,在不同维度上进行累乘。更重要的是,每个阶段乘法结果都保存下来了,比如 1 × 2 × 3 × 4 × 5 1\times2\times3\times4\times5 1×2×3×4×5结果等于120,但前四步的结果1,2,6,24都保存下来了。这个计算刚好可以用来进行体渲染。

相关推荐
studytosky23 分钟前
深度学习理论与实战:MNIST 手写数字分类实战
人工智能·pytorch·python·深度学习·机器学习·分类·matplotlib
上不如老下不如小1 小时前
2025年第七届全国高校计算机能力挑战赛初赛 Python组 编程题汇总
开发语言·python·算法
Q_Q5110082851 小时前
python+django/flask的结合人脸识别和实名认证的校园论坛系统
spring boot·python·django·flask·node.js·php
Q_Q5110082851 小时前
python+django/flask的选课系统与课程评价整合系统
spring boot·python·django·flask·node.js·php
charlie1145141911 小时前
勇闯前后端Week2:后端基础——Flask API速览
笔记·后端·python·学习·flask·教程
豐儀麟阁贵1 小时前
8.2异常的抛出与捕捉
java·开发语言·python
interception2 小时前
爬虫js逆向,jsdom补环境,抖音,a_bogus
javascript·爬虫·python
林炳然2 小时前
Python-Basic Day-5 函数-生成器&装饰器
python
Yue丶越2 小时前
【Python】基础语法入门(四)
linux·开发语言·python