深度学习中需要固定的随机数种子

文章目录

前言

主要是3个:

  • random.seed()
  • numpy.random.seed()
  • torch.manual_seed()

三个的原理和作用都是相似的,所以接下来我只简单介绍random.seed()

random.seed()

作用

random()函数是用来产生伪随机数的,而random.seed()是用来确定随机数种子,使得每次产生的随机数是一样的。从而保证程序的可复现性。

例子

python 复制代码
import random

for i in range(5):
	# Any number can be used in place of '0'
	random.seed(0)

	# Generated random number will be between 1 to 1000
	print(random.randint(1, 1000))
"""
Output:
865
865
865
865
865
"""
  • 注意是需要在每次调用函数产生随机数之前都必须声明随机数种子,如下所示。
python 复制代码
import random

random.seed(3)
print(random.randint(1, 1000))

random.seed(3)
print(random.randint(1, 1000))

print(random.randint(1, 1000))

"""
Output:
244
244
607
"""

Reference

例子来源于:

https://www.geeksforgeeks.org/random-seed-in-python/

np.random.seed()

torch.manual_seed()

相关推荐
再玩一会儿看代码3 分钟前
Ken的Java学习之路——Java中关于面向对象
java·开发语言·经验分享·python·学习
Q_Q5110082859 分钟前
python+django/flask的美食交流宣传系统vue
spring boot·python·pycharm·django·flask·node.js·php
Q_Q51100828512 分钟前
python+django/flask+vue的基层智能化人员调度系统pycharm-计算机毕业设计
spring boot·python·pycharm·django·flask·node.js
lapiii3583 小时前
[智能体设计模式] 第4章:反思(Reflection)
人工智能·python·设计模式
快乐非自愿4 小时前
Java垃圾收集器全解:从Serial到G1的进化之旅
java·开发语言·python
百锦再6 小时前
第11章 泛型、trait与生命周期
android·网络·人工智能·python·golang·rust·go
zbhbbedp282793cl8 小时前
如何在VSCode中安装Python扩展?
ide·vscode·python
Python私教10 小时前
Python 开发环境安装与配置全指南(2025版)
开发语言·python
百锦再10 小时前
第12章 测试编写
android·java·开发语言·python·rust·go·erlang
熠熠仔10 小时前
QGIS 3.34+ 网络分析基础数据自动化生成:从脚本到应用
python·数据分析