随机种子——你理解的随机并不随机

在一个TextRNN的LSTM深度学习demo代码中,发现了这几行代码。

    np.random.seed(1)
    torch.manual_seed(1)
    torch.cuda.manual_seed_all(1)
    torch.backends.cudnn.deterministic = True  # 保证每次结果一样

在机器学习中,某些操作如参数初始化、数据处理会依赖随机性,使用随机种子可以确保每次运行时的随机数序列相同,方便调试、实验结果复现和验证都非常重要。

np.random.seed(1) 设置numpy的随机种子为1

torch.manual_seed(1):设置了 PyTorch 的随机种子为 1

torch.cuda.manual_seed_all(1):设置了 PyTorch 在 GPU 上的随机种子为 1

torch.backends.cudnn.deterministic = True:设置了 PyTorch 使用 cuDNN 库时的行为为确定性模式

随机种子(random seed)是在随机数生成过程中用于初始化伪随机数生成器的起始值,相同的种子下,生成的随机数序列将是确定性的。

有感而发:日常中的赌博游戏,会不会存在一种由庄家制定好的规则,看似随机性,实际程序已经掌握了所有的种子,知道每一步发展的趋势,而游戏中的人的任何操作引发下一步结果也都是在掌握之中的。庄家制定的局,绝不会是亏本买卖。游戏赌博都是极短时间内的心理博弈,而处于穷困中的人更加容易丧失理智。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值