时间随机生成器(如何看待pyth oj中的随机数生成器bug)

:暂无数据 2026-09-26 05:50:07 :2

时间随机生成器(如何看待pyth oj中的随机数生成器bug)

本篇文章给大家谈谈时间随机生成器,以及如何看待pyth oj中的随机数生成器bug对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

如何看待pyth oj中的随机数生成器bug

明敏 发自 凹非寺
量子位 报道 | 公众号 QbitAI
到底是怎样的一个bug,能让95%的Pytorch库中招,就连特斯拉AI总监深受困扰?
还别说,这个bug虽小,但有够“狡猾”的。
这就是最近Reddit上热议的一个话题,是一位网友在使用再平常不过的Pytorch+Numpy组合时发现。
最主要的是,在代码能够跑通的情况下,它甚至还会影响模型的准确率!
除此之外,网友热议的另外一个点,竟然是:
而是它到底算不算一个bug?
这究竟是怎么一回事?
事情的起因是一位网友发现,在PyTorch中用NumPy来生成随机数时,受到数据预处理的限制,会多进程并行加载数据,但最后每个进程返回的随机数却是相同的。
他还举出例子证实了自己的说法。
如下是一个示例数据集,它会返回三个元素的随机向量。这里采用的批量大小分别为2,工作进程为4个。
然后神奇的事情发生了:每个进程返回的随机数都是一样的。
这个结果会着实让人有点一头雾水,就好像数学应用题求小明走一段路程需要花费多少时间,而你却算出来了负数。
发现了问题后,这位网友还在GitHub上下载了超过10万个PyTorch库,用同样的方法产生随机数。
结果更加令人震惊:居然有超过95%的库都受到这个问题的困扰!
这其中不乏PyTorch的官方教程和OpenAI的代码,连特斯拉AI总监Karpathy也承认自己“被坑过”!
但有一说一,这个bug想要解决也不难:只需要在每个epoch都重新设置seed,或者用python内置的随机数生成器就可以避免这个问题。
到底是不是bug?
如果这个问题已经可以解决,为什么还会引起如此大的讨论呢?
因为网友们的重点已经上升到了“哲学”层面:
这到底是不是一个bug?
在Reddit上有人认为:这不是一个bug。
虽然这个问题非常常见,但它并不算是一个bug,而是一个在调试时不可以忽略的点。
就是这个观点,激起了千层浪花,许多人都认为他忽略了问题的关键所在。
这不是产生伪随机数的问题,也不是numpy的问题,问题的核心是在于PyTorch中的DataLoader的实现
对于包含随机转换的数据加载pipeline,这意味着每个worker都将选择“相同”的转换。而现在NN中的许多数据加载pipeline,都使用某种类型的随机转换来进行数据增强,所以不重新初始化可能是一个预设。
另一位网友也表示这个bug其实是在预设程序下运行才出现的,应该向更多用户指出来。
并且95%以上的Pytorch库受此困扰,也绝不是危言耸听。
有人就分享出了自己此前的惨痛经历:
我认识到这一点是之前跑了许多进程来创建数据集时,然而发现其中一半的数据是重复的,之后花了很长的时间才发现哪里出了问题。
也有用户补充说,如果 95% 以上的用户使用时出现错误,那么代码就是错的。
顺便一提,这提供了Karpathy定律的另一个例子:即使你搞砸了一些非常基本代码,“neural nets want to work”。
你有踩过PyTorch的坑吗?
如上的bug并不是偶然,随着用PyTorch的人越来越多,被发现的bug也就越来越多,某乎上还有PyTorch的坑之总结,被浏览量高达49w。
其中从向量、函数到model.train(),无论是真bug还是自己出了bug,大家的血泪史还真的是各有千秋。
所以,关于PyTorch你可以分享的经验血泪史吗?
欢迎评论区留言讨论~
参考链接:
***隐藏网址***
***隐藏网址***
***隐藏网址***
— 完 —

随机数生成器能不能作弊

不能。随机数生成器是随机的,是不能被控制的,不能作弊。随机数生成器是组合多个独立的随机数生成器以生成周期更长、统计性质更优的随机数的方法。

文章分享结束,时间随机生成器和如何看待pyth oj中的随机数生成器bug的答案你都知道了吗?欢迎再次光临本站哦!

时间随机生成器(如何看待pyth oj中的随机数生成器bug)

本文编辑:admin

更多文章:


西地那非怎么使用?(西地那非效果怎么样 详解西地那非的使用效果及注意事项)

西地那非怎么使用?(西地那非效果怎么样 详解西地那非的使用效果及注意事项)

“西地那非怎么使用?”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看西地那非怎么使用?(西地那非效果怎么样 详解西地那非的使用效果及注意事项)!

2026年10月14日 11:30

idea控制台乱码(idea 输出 System.out.println() 控制台乱码)

idea控制台乱码(idea 输出 System.out.println() 控制台乱码)

各位老铁们,大家好,今天由我来为大家分享idea控制台乱码,以及idea 输出 System.out.println() 控制台乱码的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大

2026年10月14日 07:30

抹茶冰皮月饼(冰皮月饼的做法)

抹茶冰皮月饼(冰皮月饼的做法)

大家好,抹茶冰皮月饼相信很多的网友都不是很明白,包括冰皮月饼的做法也是一样,不过没有关系,接下来就来为大家分享关于抹茶冰皮月饼和冰皮月饼的做法的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

2026年10月14日 06:20

spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)

spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)

“spring事务的作用”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看spring事务的作用(为什么要使用spring的事务,一般在什么情况下使用)!

2026年10月14日 05:40

网站开发项目计划书(网站建设项目策划书)

网站开发项目计划书(网站建设项目策划书)

大家好,关于网站开发项目计划书很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于网站建设项目策划书的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月14日 04:50

linux怎么进入命令行(怎么样配置linux使其启动时直接登录到命令行模式)

linux怎么进入命令行(怎么样配置linux使其启动时直接登录到命令行模式)

大家好,关于linux怎么进入命令行很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于怎么样配置linux使其启动时直接登录到命令行模式的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦

2026年10月14日 02:00

java培训机构好还是大学好(大学生想转行学java,该去java培训班还是自学呢)

java培训机构好还是大学好(大学生想转行学java,该去java培训班还是自学呢)

其实java培训机构好还是大学好的问题并不复杂,但是又很多的朋友都不太了解大学生想转行学java,该去java培训班还是自学呢,因此呢,今天小编就来为大家分享java培训机构好还是大学好的一些知识,希望可以帮助到大家,下面我们一起来看看这个

2026年10月13日 23:30

各种花边图案(花边怎么画 简单易学的花边绘画教程)

各种花边图案(花边怎么画 简单易学的花边绘画教程)

各位老铁们,大家好,今天由我来为大家分享各种花边图案,以及花边怎么画 简单易学的花边绘画教程的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月13日 19:10

stewardess读音(空姐的英文读音)

stewardess读音(空姐的英文读音)

本篇文章给大家谈谈stewardess读音,以及空姐的英文读音对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月13日 19:00

前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)

前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)

“前端面试必背十个点”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看前端面试必背十个点(资深HR揭秘:Web前端面试技巧有哪些)!

2026年10月13日 17:50

最近更新

热门文章

sql server2008下载地址(如何下载SQL Server 2008 R2 SP2免费版)
2026-10-05 05:30:29 浏览:6
thinkpadx100eu盘启动(thinkpad x100e U盘启动 支持的写入方式是什么)
2026-09-01 14:20:01 浏览:6
标签列表