Numpy: генерация случайных чисел - разрыв цикла - PullRequest
0 голосов
/ 18 мая 2018

Вопрос о генерации случайных чисел в Numpy.

У меня есть код, который делает следующее:

import numpy as np

for i in range(very_big_number):

    np.random.randn(5)

    # other stuff that uses the generated random numbers

, поскольку, к сожалению, very_big_number действительно может быть очень большим числомЯ хотел разбить этот цикл на куски, скажем, например, вызвать 10 times тот же

for i in range(very_big_number/10):

    np.random.randn(5)

    # other stuff that uses the generated random numbers

, а затем сопоставить все выходные данные вместе.Тем не менее, я хочу убедиться, что это деление на блоки сохраняет случайность моих сгенерированных чисел.

Мой вопрос: читая пустую документацию или, эквивалентно, этот вопрос о StackOverflow, я бысоблазн думать, что достаточно просто разделить циклы и запустить сублупы, например, на десяти разных ядрах одновременно.Однако я хотел бы знать, правильно ли это, или я должен установить какое-то случайное число и если да, то как.

1 Ответ

0 голосов
/ 18 мая 2018

Деление цикла .... случайность сомнительна ....

Вместо этого перейдите к параллельной обработке ....

Попробуйте ниже упомянутую библиотеку "Joblib" или любую другую библиотекуесли вы знаете для параллельной обработки ....

https://pythonhosted.org/joblib/parallel.html

Joblib предоставляет простой вспомогательный класс для записи параллельных циклов с использованием многопроцессорной обработки

...