首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python求N维数组对数的快速方法

Python求N维数组对数的快速方法
EN

Stack Overflow用户
提问于 2018-06-17 05:47:55
回答 3查看 92关注 0票数 0

我的问题很琐碎,但我需要你的帮助。获取数组的np.log(x)不是问题。但在我的例子中,这个数组可以是N维/张量(N=2..1024和每维100个样本)。

对于基于元素的N=4计算,np.log(x)需要10秒。我需要将这个log(x)放在一个成本函数中进行优化,因此,所有的优化过程大约需要2小时的

因此,问题是如何在N维数组中以更快的方式实现此log(x)。真的有可能吗?

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2018-06-17 07:04:10

也许多进程在这种情况下可以帮助你。

票数 0
EN

Stack Overflow用户

发布于 2018-06-17 23:07:36

numpy log函数是用C语言实现的,并针对处理数组进行了优化,因此,尽管您可以通过用低级语言编写自己的自定义日志函数来节省一些开销,但这仍然是瓶颈。如果你想看到速度的大幅提升,你需要以不同的方式实现你的算法。

真的有必要记录所有这些元素的日志吗?您提到每个维度可以有100个样本,您是否计划平均这些样本?如果是这样,您可以使用log(a) + log(b) = log(ab)这一事实来减少需要计算的对数数量,因此平均log(a0) + log( a1 ) + ... + log( aN) /(a0 + a1 + ... + aN)与log(a0*a1* ... *aN)/(a0 +a1+...+aN)相同。

票数 0
EN

Stack Overflow用户

发布于 2018-06-27 16:27:07

谢谢你们,

问题是我必须处理大量的条目。我刚刚为我的优化找到了另一个成本函数。

但是,为了提高这段代码的速度--我认为完全适合我的信号类型的自制日志表的想法可以让它工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50892030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档