我希望使用hashlib生成的哈希值来初始化numpy.random.RandomState实例,以便伪随机源始终为相同输入数据生成相同的值。当我尝试这样做时:
hash = sha256(some_data)
RandomState(seed=hash.digest())
I get:
ValueError: object of too small depth for desired array
我可以使用map(ord, hash.digest())
,但我不确定这是否是正确的解决方案。我应该这样做还是会失去随机性?
seed = np.frombuffer(hash.digest(), dtype=np.uint32)
- Robert Kern