У меня есть приложение, где мне нужно numpy.random.normal
, но из источника crypgoraphi c PRNG. Numpy, по-видимому, не предоставляет эту опцию.
Лучшее, что я смог найти, было numpy.random.entropy.random_entropy
, но это только uint32 и оно глючит, с большими массивами вы получаете "RuntimeError: Невозможно прочитать из системной криптографии c провайдер ", хотя urandom не является блокирующим ...
Однако вы можете сделать это: np.frombuffer(bytearray(os.urandom(1000*1000*4)), dtype=np.uint32).astype(np.double).reshape(1000, 1000)
Но у меня все еще остается проблема как-то преобразовать его в Гасианец и ничего не напортачил.
Есть ли решение, которое кто-то знает? Google отравлен numpy отбором из / dev / urandom, мне не нужно отсеивать, мне нужен urandom, являющийся единственным источником всей случайности.