Trong chương trình của tôi, tôi cần chạy N luồng riêng biệt với mỗi RNG riêng được sử dụng để lấy mẫu một tập dữ liệu lớn. Tôi cần có khả năng gieo mầm toàn bộ quá trình này với một giá trị duy nhất để tôi có thể tái tạo kết quả.
Có đủ để đơn giản tăng tuần tự hạt giống cho mỗi chỉ số?
Hiện tại tôi numpy
đang RandomState
sử dụng bộ tạo số giả ngẫu nhiên Mersenne Twister.
Đoạn mã dưới đây:
# If a random number generator seed exists
if self.random_generator_seed:
# Create a new random number generator for this instance based on its
# own index
self.random_generator_seed += instance_index
self.random_number_generator = RandomState(self.random_generator_seed)
Về cơ bản, tôi bắt đầu với một hạt giống do người dùng nhập vào (nếu nó tồn tại) và với mỗi phiên bản / luồng, tôi tuần tự thêm chỉ mục (0 đến N-1) của cá thể đang chạy. Tôi không biết liệu đây là cách thực hành tốt hay liệu có cách nào tốt hơn để làm việc này không.