numpy random seed总结笔记
1.实验一
1.1实验一代码
import numpy as np
import random
def seed1():
'''
numpy里面的random
关于np里面random.seed的意思和用法
:return:
'''
for i in range(2):
np.random.seed(2)
p0=np.random.randn(3,5)
print("输出p0:\n", p0)
np.random.seed(2)
p1=np.random.randn(3,5)
print("输出p1:\n",p1)
if __name__=="__main__":
seed1()
print("______________")
1.2实验一结果
1.3个人理解总结
个人理解:从上面可以看出for循环里面,每次输出一个p0,都给p0“打上一个seed(2)的标签”,两个p0产生的随机数都一样,走出for循环,给p1也打上一个seed(2)的标签,p1的随机数也是和p0一样。
所以:可以理解为seed()函数的传入参数是一个“标签”,比如seed(1),打上seed(1)标签产生的所有的随机数是一样的,打上seed(1)和seed(2)的两个随机数不一样。
下面继续验证:
2.实验二
2.1实验二代码
import numpy as np
import random
def seed1():
'''
numpy里面的random
关于np里面random.seed的意思和用法
:return:
'''
for i in range(2):
np.random.seed(2)
p0=np.random.randn(3,5)
np.random.seed(1)
p3=np.random.randn(3,5)
print("输出p0:\n", p0)
print("输出p3:\n", p3)
np.random.seed(2)
p1=np.random.randn(3,5)
print("输出p1:\n",p1)
if __name__=="__in__":
seed1()
print("______________")
2.2实验一结果
2.3个人理解总结
个人理解:在实验一的基础上加上了一个seed(1)和p3,发现结果是两个p3是相同的,
3.实验三
3.1实验二代码
import numpy as np
import random
def seed1():
'''
numpy里面的random
关于np里面random.seed的意思和用法
:return:
'''
for i in range(2):
np.random.seed(2)
p0=np.random.randn(3,5)
np.random.seed(1)
p3=np.random.randn(3,5)
print("输出p0:\n", p0)
print("输出p3:\n", p3)
np.random.seed(2)
p1=np.random.randn(3,5)
print("输出p1:\n",p1)
p4=np.random.randn(3,5)
print("输出p4:\n",p4)
if __name__=="__in__":
seed1()
print("______________")
3.2实验一结果
3.3个人理解总结
个人理解:在实验二的基础上加上了一个p4,p4前面没有加seed标签,产生的随机数和前面的都不一样。
这样理解就不会忘了。