登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 516|回复: 0

95%PyTorch库都会中招的bug!特斯拉AI总监都没能幸免

[复制链接]

952

主题

952

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2020-12-24 03:43:12 来自手机 | 显示全部楼层 |阅读模式 来自 法国

原标题:95%PyTorch库都会中招的bug!特斯拉AI总监都没能幸免

明敏 发自 凹非寺

量子位 报道 | 公众号 QbitAI

到底是怎样的一个bug,能让 95%的Pytorch库中招,就连 特斯拉AI总监深受困扰?

还别说,这个bug虽小,但有够“调皮”的。

这就是近来Reddit上热议的一个话题,是一位网友在利用再寻常不外的 Pytorch+Numpy组适时发现。

最重要的是,在代码可以或许跑通的环境下,它乃至还会影响模子的正确率!

X44PDgxg2KP4Ukp2.jpg

除此之外,网友热议的别的一个点,竟然是:

而是它到底 算不算一个bug

而是它到底 算不算一个bug

j6bpbO33r4sC6cOm.jpg

睁开全文

这毕竟是怎么一回事?

事变的因由是一位网友发现,在PyTorch中用NumPy来天生随机数时,受到数据预处置惩罚的限定,会多历程并行加载数据,但末了每个历程返回的随机数却是雷同的。

他还举出例子证明了本身的说法。

如下是一个示例数据集,它会返回三个元素的随机向量。这里接纳的批量巨细分别为2,工作历程为4个。

Eh041565PyklSHzL.jpg

然后神奇的事变发生了: 每个历程返回的随机数都是一样的。

ywt0fC3e7w3w0c6t.jpg

这个效果会着实让人有点一头雾水,就似乎数学应用题求小明走一段旅程必要耗费多少时间,而你却算出来了负数。

发现了题目后,这位网友还在GitHub上下载了凌驾10万个PyTorch库,用同样的方法产生随机数。

效果更加令人震动:居然有 凌驾95%的库都受到这个题目的困扰!

这此中不乏PyTorch的官方教程和OpenAI的代码,连特斯拉AI总监Karpathy也认可本身“被坑过”!

但有一说一,这个bug想要办理也不难:只必要在 每个epoch都重新设置seed,大概用 python内置的随机数天生器就可以制止这个题目。

到底是不是bug?

假如这个题目已经可以办理,为什么还会引起云云大的讨论呢?

由于网友们的重点已经上升到了“哲学”层面:

这到底是不是一个bug?

在Reddit上有人以为:这不是一个bug。

固然这个题目非经常见,但它并不算是一个bug,而是一个在调试时不可以忽略的点。

固然这个题目非经常见,但它并不算是一个bug,而是一个在调试时不可以忽略的点。

k86F7f9cIu7II2ZF.jpg

就是这个观点,激起了千层浪花,很多人都以为他忽略了题目的关键地点。

这不是产生伪随机数的题目,也不是numpy的题目,题目的焦点是在于 PyTorch中的DataLoader的实现

这不是产生伪随机数的题目,也不是numpy的题目,题目的焦点是在于 PyTorch中的DataLoader的实现

E497P7c3hHz4ST46.jpg

对于包罗随机转换的数据加载pipeline,这意味着每个worker都将选择“雷同”的转换。

而如今NN中的很多数据加载pipeline,都利用某种范例的随机转换来举行数据加强,以是不重新初始化大概是一个预设。

对于包罗随机转换的数据加载pipeline,这意味着每个worker都将选择“雷同”的转换。

而如今NN中的很多数据加载pipeline,都利用某种范例的随机转换来举行数据加强,以是不重新初始化大概是一个预设。

另一位网友也表现这个bug实在是 在预设步伐下运行才出现的,应该向更多用户指出来。

Hr52WzyahSy0AuWH.jpg

而且95%以上的Pytorch库受此困扰,也绝不是骇人听闻。

有人就分享出了本身此前的凄惨履历:

我熟悉到这一点是之前跑了很多历程来创建数据集时,然而发现此中一半的数据是重复的,之后花了很长的时间才发现那里出了题目。

我熟悉到这一点是之前跑了很多历程来创建数据集时,然而发现此中一半的数据是重复的,之后花了很长的时间才发现那里出了题目。

j4JCBI7U4B1C7jRC.jpg

也有效户增补说,假如 95% 以上的用户利用时出现错误,那么代码就是错的。

uQ4PbXmNn4mpbP07.jpg

趁便一提,这提供了Karpathy定律的另一个例子:纵然你搞砸了一些非常根本代码,“neural nets want to work”。

趁便一提,这提供了Karpathy定律的另一个例子:纵然你搞砸了一些非常根本代码,“neural nets want to work”。

如上的bug并不是偶尔,随着用PyTorch的人越来越多,被发现的bug也就越来越多,某乎上另有PyTorch的坑之总结,被欣赏量高达49w。

pxYml6El6l90tum5.jpg

此中从向量、函数到model.train,无论是真bug照旧本身出了bug,各人的血泪史还真的是各有千秋。

以是,关于PyTorch你可以分享的履历 血泪史吗?

接待批评区留言讨论~

本文系网易消息•网易号特色内容鼓励筹划签约账号【量子位】原创内容,未经账号授权,克制随意转载。

参加AI社群,拓展你的AI行业人脉

量子位「AI社群」招募中!接待AI从业者、关注AI行业的小同伴们扫码参加,与 50000+名挚友共同关注人工智能 行业发展&技能希望

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技能和产物新动态

一键三连「分享」、「点赞」和「在看」

科技前沿希望日日相见~返回搜狐,检察更多

责任编辑:





上一篇:复兴S30Pro上手体验:浮滑时尚潮水良品
下一篇:我熟悉的苹果变了?iPhone14主摄曝光:4800万像素
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-5-16 22:00 , Processed in 0.169876 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表