ในโปรแกรมของฉันฉันต้องรัน N แยกเธรดแต่ละตัวด้วย RNG ของตัวเองซึ่งใช้เพื่อสุ่มตัวอย่างชุดข้อมูลขนาดใหญ่ ฉันต้องสามารถหว่านกระบวนการทั้งหมดนี้ด้วยค่าเดียวดังนั้นฉันจึงสามารถทำซ้ำผลลัพธ์ได้
มันเพียงพอแล้วหรือไม่ที่จะเพิ่มเมล็ดตามลำดับสำหรับแต่ละดัชนี?
ขณะนี้ฉันใช้numpy
ของRandomState
ซึ่งใช้ตัวสร้างตัวเลขสุ่มหลอก Mersenne Twister
ตัวอย่างโค้ดด้านล่าง:
# 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)
โดยพื้นฐานแล้วฉันเริ่มต้นด้วยเมล็ดที่ผู้ใช้ป้อน (ถ้ามี) และสำหรับแต่ละอินสแตนซ์ / เธรดฉันตามลำดับเพิ่มดัชนี (0 ถึง N-1) ของอินสแตนซ์ที่กำลังทำงานอยู่ ฉันไม่รู้ว่านี่เป็นการฝึกฝนที่ดีหรือว่ามีวิธีที่ดีกว่าในการทำเช่นนี้