Hello, We are trying to have a reproducible workflow for usage in reinforcement learning. To test the reproducibility, we use a guix shell container with fixed commits through the following command
guix time-machine --channels=channels_file -- shell -C -L ../ python-stable-baselines3 python-mujoco python-gymnasium python python-imageio -- python sb3.py The channel with package declaration is here: [ https://gitlab.inria.fr/tmathieu/guix-rl | https://gitlab.inria.fr/tmathieu/guix-rl ] and the channels file used to fix dependencies from guix and guix-science is here: [ https://gitlab.inria.fr/tmathieu/guix-rl/-/blob/main/tests/channels_file | https://gitlab.inria.fr/tmathieu/guix-rl/-/blob/main/tests/channels_file ] . Doing so, we noticed that the results were indeed reproducible between two Ubuntu computer (one is a laptop, the other a server). However, when trying the exact same command with the exact same channels file (with fixed commit) on some Arch-Linux laptop, the result was different. We did the test on two Arch laptops and the results were are reproducible but with a different value from the Ubuntu ones. All the considered laptops and servers have different kernel but this doesn't seem to be the problem because Ubuntu is reproducible with Ubuntu and Arch reproducible with Arch. Moreover, the difference is not small, which is weird because in the script we fix the random seed. Do you have any idea why there is a difference? I know about python, but I am not an expert in Linux OS/kernel, and I am really not sure what in the difference of OS could impact the result even though guix shell container are used. Thanks, Timothée