小编ggg*_*ggg的帖子

为什么不是numpy.mean多线程?

我一直在寻找方法轻松多线程我的一些简单的分析代码,因为我注意到numpy它只使用一个核心,尽管事实上它应该是多线程的.

我知道numpy是为多个内核配置的,因为我可以看到使用numpy.dot的测试使用我的所有内核,所以我只是重新实现了作为点积的意思,它运行得更快.有什么理由意味着不能自己快速运行吗?我发现大型数组的行为类似,尽管比例接近2比我的例子中显示的3.

我一直在阅读关于类似numpy速度问题的一堆帖子,显然它的方式比我想象的更复杂.任何见解都会有所帮助,我更喜​​欢使用mean,因为它更易读,代码更少,但我可能会改用基于点的方法.

In [27]: data = numpy.random.rand(10,10)

In [28]: a = numpy.ones(10)

In [29]: %timeit numpy.dot(data,a)/10.0
100000 loops, best of 3: 4.8 us per loop

In [30]: %timeit numpy.mean(data,axis=1)
100000 loops, best of 3: 14.8 us per loop

In [31]: numpy.dot(data,a)/10.0 - numpy.mean(data,axis=1)
Out[31]: 
array([  0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   1.11022302e-16,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   0.00000000e+00,
        -1.11022302e-16])
Run Code Online (Sandbox Code Playgroud)

python performance multithreading numpy

21
推荐指数
2
解决办法
2万
查看次数

在ipython中选中完整的字典键

我想知道是否有人知道如何在IPython中启用或实现字典键的Tab键完成?它似乎与已存在的功能(例如对象属性的选项卡完成)没有太大差别.如果我错了,那么我想了解原因

python dictionary tab-completion ipython

10
推荐指数
1
解决办法
2261
查看次数