Closed dongqian0206 closed 2 years ago
Hi Dong,
even with seeding, CUDA operations are not guaranteed to be deterministic, therefore results will change from run to run. This is especially problematic in online-RL-type setups since tiny changes in parameters can result in changes in (self-generated) data distribution which compounds very quickly and pushes models in different directions.
There are ways to get deterministic results but these usually involve using much slower operations which are undesirable in research.
OK. Thank you for your prompt reply.
Hi there,
Thank you very much for sharing the source codes.
For reproducibility, I modified the codes as follows,
https://github.com/GFNOrg/gflownet/blob/831a6989d1abd5c05123ec84654fb08629d9bc38/mols/gflownet.py#L84
--->
self.train_rng = np.random.RandomState(142857)
as well as to add
However, I encountered an issue. I ran it more than 3 times with the same random seed, but the results are totally different (although they are close). I didn't modify other parts, except for addressing package compatibility issues.
I am wondering whether you encountered such an issue before.
Best,
Dong