1. 首页 > 科技

为什么CPU需要设置随机数种子模型的训练结果将始终保持一致? 为什么计算机没有真随机

为什么CPU需要设置随机数种子模型的训练结果将始终保持一致?为什么计算机没有真随机

有关CPU产生随机数种子这一问题.

CPU没时每刻都在产生随机数种子

这是谁说的???

CPU从来就不会产生随机数种子

只不过是大部分的编程语言,会将CPU的时钟作为一个随机种子,所以你才每时每刻都可以获得一个不同的随机数

所以,只有你在获得随机数的时候,才有种子的概念,你只要不获取随机数,就永远不会有随机种子

至于种子的规律,这个没啥意思,因为你可以用任意一个数做种子,种子是自己确定的,你想要有什么规律就是什么规律

不同计算机上,使用相同的种子,获取的随机数序列是否一样

肯定不一样的

深度学习模型训练中随机种子指的是什么

楼上的回答不够确切,严格来说不对

事实上随机种子和深度学习没有直接关系,随机种子在百度百科中的定义是:一种以随机数作为对象的以真随机数(种子)为初始条件的随机数。

简单的说,计算机中生成随机数的过程并不随机,但是其初始数(种子)是随机的。

在深度学习中,(比如深度神经网络)我们常常需要对网络中超参数设定初始值,比如权重,在这里我们需要用到一些生成随机数的函数,这些函数一般可以手动设定种子,如果种子设定为相同的,那么得到的数就是一样的。

萌新c语言中用随机数每次产生的都差不多,虽然不一样; 请大神看看代码哪里有问题,

你利用时间作为随机数的种子,但是每次在循环体的开头都对种子重新赋值,由于现在cpu运算速度快,所以导致你基本赋值的都是同一个种子

解决方法很简单,只要在程序开头对随机数赋一个种子即可

即将15行的srand移到13行的for循环前

其他部分同理,建议整个程序只要进行一次随机数种子赋值即可