আমার প্রোগ্রামে আমার প্রতিটি নিজস্ব আরএনজি দিয়ে এন আলাদা আলাদা থ্রেড চালানো দরকার যা বড় ডেটাসেটের নমুনার জন্য ব্যবহৃত হয়। আমার এই পুরো প্রক্রিয়াটি একটি একক মান দিয়ে বীজ করতে সক্ষম হওয়া দরকার যাতে আমি ফলাফলগুলি পুনরুত্পাদন করতে পারি।
প্রতিটি সূচকের জন্য কেবল ক্রমানুসারে বীজ বাড়ানো কি যথেষ্ট?
বর্তমানে আমি ব্যবহার numpy
এর RandomState
যা একটি Mersenne প্রতারক সিউডো-রেণ্ডম সংখ্যা উত্পাদক ব্যবহার করে।
নীচে কোড স্নিপেট:
# 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 থেকে এন -1) যুক্ত করব। আমি জানি না এটি ভাল অনুশীলন কিনা বা এটি করার আরও ভাল উপায় আছে কিনা।