【问题标题】:computing cost of np.random.uniform vs np.random.betanp.random.uniform 与 np.random.beta 的计算成本
【发布时间】:2016-06-02 00:07:02
【问题描述】:

我有一个使用 np.random.uniform 的算法我想切换到 np.random.beta 和/或 np.random.gamma 以提高近似值的效率。由于该算法已经非常耗时(约 8 小时)和内存密集型(每个线程 5 GB),我想在尝试运行之前检查是否有任何信息说明这将花费我多少。

既然它是在循环中调用的,我应该假设它不会改变内存需求吗?

运行时间有什么区别?

【问题讨论】:

  • 你知道这个函数在一次运行中被调用了多少次吗?

标签: python memory random time


【解决方案1】:

只需使用 ipython 测试它:

In [1]: import numpy as np

In [2]: %timeit np.random.random(1000)
100000 loops, best of 3: 9.25 µs per loop

In [3]: %timeit np.random.beta(0.5, 0.5, 1000)
10000 loops, best of 3: 45.3 µs per loop

这意味着系数为 5,但它似乎取决于 beta 的参数。

不过,在得出任何结论之前,您应该确保随机数生成是您算法的时间限制因素。运行分析器以找出真正的瓶颈在哪里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 2017-01-06
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多