相关疑难解决方法(0)

散列为numpy数组的最有效属性

我需要能够存储numpy array一个dict用于缓存的目的.哈希速度很重要.

array代表indicies,所以在对象的真实身份并不重要,值.可变性不是一个问题,因为我只对当前价值感兴趣.

我应该散列什么才能将其存储在一个dict

我目前的方法是使用str(arr.data),这比md5我的测试更快.


我已经从答案中加入了一些例子来了解相对时间:

In [121]: %timeit hash(str(y))
10000 loops, best of 3: 68.7 us per loop

In [122]: %timeit hash(y.tostring())
1000000 loops, best of 3: 383 ns per loop

In [123]: %timeit hash(str(y.data))
1000000 loops, best of 3: 543 ns per loop

In [124]: %timeit y.flags.writeable = False ; hash(y.data)
1000000 loops, best of 3: 1.15 us per loop

In [125]: %timeit hash((b*y).sum())
100000 loops, …
Run Code Online (Sandbox Code Playgroud)

python numpy

51
推荐指数
4
解决办法
4万
查看次数

如何在Python中散列大对象(数据集)?

我想计算包含Machine Learning数据集的Python类的哈希值.哈希意味着用于缓存,所以我想到md5sha1.问题是大多数数据都存储在NumPy数组中; 这些不提供__hash__()会员.目前我pickle.dumps()为每个成员做一个并根据这些字符串计算哈希.但是,我发现以下链接指示同一对象可能导致不同的序列化字符串:

为包含Numpy数组的Python类计算哈希的最佳方法是什么?

python hash sha1 numpy pickle

25
推荐指数
2
解决办法
8637
查看次数

Numpy NdArray Memoization

我正在进行一些计算密集的计算,处理numpy矩阵和ndarray,并且从一些挖掘中,有大约十二种实现memoization的方法,通常充满了冲突,ndarrays是可变对象的问题.

有没有人遇到过一个可以处理numpy对象的相当普遍的memoisation装饰器?

python numpy matrix memoization multidimensional-array

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