当前位置: 首页 > news >正文

numpy中的seed

  1. 函数np.random.seed(n)解释
    功能:用于生成指定随机数。

参数:seed(n)中的参数n比喻成“堆”,seed(5)表示第5堆,n的数值基本可以随便设置。设置的seed(n)仅一次有效。

(也有人比喻seed(n)里的n为一个盛有随机数的“聚宝盆”,一个数字代表一个“聚宝盆”,当我们设置相同的seed()时,“聚宝盆”就是一样的,所以每次取出的随机数就会相同。)

  1. 用法
    np.random.seed(n)可以按照顺序产生一组固定的数组,如果使用相同的seed()值,则每次生成的随机数都相同;如果不设置这个值,那么每次生成的随机数不同。

注意:需要每次调用的时候都seed()一下,表示种子相同,从而生成的随机数相同。

例1:只调用一次seed(),两次产生的随机数不同。

import numpy as py

np.random.seed(1)
L1 = np.random.randn(3,3)
L2 = np.random.randn(3,3) # 这已经不是在设置的np.random.seed(1)下生成的随机数了,而是在默认的random下随机生成。
print(L1)
print(L2)

结果

[[ 1.62434536 -0.61175641 -0.52817175]
[-1.07296862 0.86540763 -2.3015387 ]
[ 1.74481176 -0.7612069 0.3190391 ]]

[[-0.24937038 1.46210794 -2.06014071]
[-0.3224172 -0.38405435 1.13376944]
[-1.09989127 -0.17242821 -0.87785842]]
复制
例2:调用两次seed(),两次产生的随机数相同

import numpy as np

np.random.seed(1)
L1 = np.random.randn(3,3)
np.random.seed(1)
L2 = np.random.randn(3,3)
print(L1)
print(L2)

结果

[[ 1.62434536 -0.61175641 -0.52817175]
[-1.07296862 0.86540763 -2.3015387 ]
[ 1.74481176 -0.7612069 0.3190391 ]]

[[ 1.62434536 -0.61175641 -0.52817175]
[-1.07296862 0.86540763 -2.3015387 ]
[ 1.74481176 -0.7612069 0.3190391 ]]
复制
总结:从每堆种子里选出来的数都是不会变的,从不同的堆里选随机种子每次都不一样。若想每次都能得到相同的随机数,每次产生随机数之前,都需要调用一次seed()。

相关文章:

  • mysql特殊语法insert into .. on duplicate key update ..使用详解
  • 闭包:什么是闭包、闭包的作用、闭包的解决
  • 【概率论与数理统计(研究生课程)】知识点总结7(参数估计)
  • 精彩回顾 l Rust唠嗑室:Xline跨数据中心一致性管理
  • vue进阶04-vue文档生成工具vuepress2
  • HDLBits: 在线学习 SystemVerilog(十一)-Problem 60-64
  • Linux环境基础开发工具使用
  • IDEA使用swing创建应用程序
  • 22.0、C语言数据结构——二叉排序树
  • GSW同态加密方案学习
  • Java -- 每日一问:Exception 和 Error 有什么区别?
  • 使用 Typora 画图
  • Gradle 入门说难也不难,说简单吧也不简单~
  • 层次聚类分析及代码实现
  • 学生选课系统 前后端分离 vue springboot
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 分享的文章《人生如棋》
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 08.Android之View事件问题
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • golang 发送GET和POST示例
  • QQ浏览器x5内核的兼容性问题
  • React-生命周期杂记
  • scrapy学习之路4(itemloder的使用)
  • uni-app项目数字滚动
  • webpack4 一点通
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 闭包--闭包之tab栏切换(四)
  • 简单数学运算程序(不定期更新)
  • 聊聊directory traversal attack
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 首页查询功能的一次实现过程
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 正则与JS中的正则
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • (06)金属布线——为半导体注入生命的连接
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (Java)【深基9.例1】选举学生会
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (九)信息融合方式简介
  • (论文阅读11/100)Fast R-CNN
  • (十) 初识 Docker file
  • (转)Mysql的优化设置
  • (转)winform之ListView
  • ***详解账号泄露:全球约1亿用户已泄露
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NET导入Excel数据
  • .Net的DataSet直接与SQL2005交互