机器学习中经常需要设置随机种子,在此记录一下一些知识和常见的设置
1.了解
1.为什么需要设置seed
设置随机种子是为了确保实验的可重复性。在机器学习和深度学习中,很多操作(如权重初始化、数据增强、批处理顺序等)都会涉及到随机性。如果不设置随机种子,每次运行程序时可能会得到不同的结果。通过设置随机种子,你可以确保每次运行的实验使用相同的随机数序列,从而得到一致的结果,便于调试和结果比较。
一句话总结:为了可控,实验结果可重复
2.conda 环境需要安装random吗
不需要在 Conda 环境中单独安装 random,因为它是 Python 标准库的一部分。random 模块默认随 Python 一起安装,所以只要你的 Conda 环境中安装了 Python,就已经包含了 random 模块。
3.在python代码的一个类中import random中设置随机种子,另外一个类中import random还需要设置随机种子吗
在 Python 中,random 模块的状态是全局的,这意味着一旦你在某处设置了随机种子,例如通过 random.seed(),它会影响整个程序中所有使用 random 模块生成的随机数。
因此,如果你在某个类或模块中已经使用 random.seed() 设置了种子,那么其他地方导入 random 模块时,不需要再重复设置种子,除非你希望在不同的地方使用不同的随机数序列。
4.对于numpy,np.random也是像random一样一处设置即可吗
是的,np.random(NumPy 的随机数生成器)和 Python 标准库的 random 模块一样,它的随机数生成器也是全局的。这意味着,一旦你在某处通过 np.random.seed() 设置了随机数种子,这个种子会影响到整个程序中所有使用 np.random 生成的随机数,除非你在其他地方显式地重新设置种子
2.设置
1.env 设置seed
以openAI的gym为例
#创建完环境后
env = gym.make(env_id)
一个是环境需要设置seed,然后动作空间也需要设置seed
env.seed(seed)
env



被折叠的 条评论
为什么被折叠?



