python中的随机数种子seed()

本文探讨了在Python中使用numpy和random库生成随机数的方法,重点介绍了如何通过设置随机种子来确保在多次运行程序时生成相同的随机数序列,这对于算法复现性和测试具有重要意义。
部署运行你感兴趣的模型镜像

栗子1:

import numpy as np
import random
random.seed(0)

np.random.seed(0)
print(np.random.rand(2))
print(np.random.rand(2))

结果为:

[0.5488135  0.71518937]
[0.60276338 0.54488318]

再次运行结果为:

[0.5488135  0.71518937]
[0.60276338 0.54488318]

想要在同一个程序中产生同一组随机数,需要在下一个函数设置一个相同的随机种子

import numpy as np
import random
random.seed(0)

np.random.seed(0)
print(np.random.rand(2))
np.random.seed(0)
print(np.random.rand(2))

结果为:

[0.5488135  0.71518937]
[0.5488135  0.71518937]

栗子2:

import random
random.seed(0)

print("1: ", random.random())
# 生成同一个随机数
random.seed(0)
print("2: ", random.random())
print("3: ", random.random())
print("4: ", random.random())
# 生成同一个随机数
random.seed(0)
print("5: ", random.random())
print("6: ", random.random())
print("7: ", random.random())

结果为:

1:  0.8444218515250481
2:  0.8444218515250481
3:  0.7579544029403025
4:  0.420571580830845
5:  0.8444218515250481
6:  0.7579544029403025
7:  0.420571580830845

random.seed(0),其中的0是对应的随机数的种子,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
生成的结果与代码运行的的次数没有什么关系。分析结果可知,输出值相同,与距离随机数种子间隔也相同。由以上分析可见,1,2,5相同;3,6相同;4、7相同。

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值