偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

新聞 人工智能
這就是最近Reddit上熱議的一個(gè)話題,是一位網(wǎng)友在使用再平常不過(guò)的Pytorch+Numpy組合時(shí)發(fā)現(xiàn)。

 [[393110]]

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

到底是怎樣的一個(gè)bug,能讓95%的Pytorch庫(kù)中招,就連特斯拉AI總監(jiān)深受困擾?

還別說(shuō),這個(gè)bug雖小,但有夠“狡猾”的。

這就是最近Reddit上熱議的一個(gè)話題,是一位網(wǎng)友在使用再平常不過(guò)的Pytorch+Numpy組合時(shí)發(fā)現(xiàn)。

最主要的是,在代碼能夠跑通的情況下,它甚至還會(huì)影響模型的準(zhǔn)確率!

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

除此之外,網(wǎng)友熱議的另外一個(gè)點(diǎn),竟然是:

而是它到底算不算一個(gè)bug

[[393111]]

這究竟是怎么一回事?

事情的起因是一位網(wǎng)友發(fā)現(xiàn),在PyTorch中用NumPy來(lái)生成隨機(jī)數(shù)時(shí),受到數(shù)據(jù)預(yù)處理的限制,會(huì)多進(jìn)程并行加載數(shù)據(jù),但最后每個(gè)進(jìn)程返回的隨機(jī)數(shù)卻是相同的。

他還舉出例子證實(shí)了自己的說(shuō)法。

如下是一個(gè)示例數(shù)據(jù)集,它會(huì)返回三個(gè)元素的隨機(jī)向量。這里采用的批量大小分別為2,工作進(jìn)程為4個(gè)。

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

然后神奇的事情發(fā)生了:每個(gè)進(jìn)程返回的隨機(jī)數(shù)都是一樣的。

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

這個(gè)結(jié)果會(huì)著實(shí)讓人有點(diǎn)一頭霧水,就好像數(shù)學(xué)應(yīng)用題求小明走一段路程需要花費(fèi)多少時(shí)間,而你卻算出來(lái)了負(fù)數(shù)。

發(fā)現(xiàn)了問(wèn)題后,這位網(wǎng)友還在GitHub上下載了超過(guò)10萬(wàn)個(gè)PyTorch庫(kù),用同樣的方法產(chǎn)生隨機(jī)數(shù)。

結(jié)果更加令人震驚:居然有超過(guò)95%的庫(kù)都受到這個(gè)問(wèn)題的困擾!

這其中不乏PyTorch的官方教程和OpenAI的代碼,連特斯拉AI總監(jiān)Karpathy也承認(rèn)自己“被坑過(guò)”!

但有一說(shuō)一,這個(gè)bug想要解決也不難:只需要在每個(gè)epoch都重新設(shè)置seed,或者用python內(nèi)置的隨機(jī)數(shù)生成器就可以避免這個(gè)問(wèn)題。

到底是不是bug?

如果這個(gè)問(wèn)題已經(jīng)可以解決,為什么還會(huì)引起如此大的討論呢?

因?yàn)榫W(wǎng)友們的重點(diǎn)已經(jīng)上升到了“哲學(xué)”層面:

這到底是不是一個(gè)bug?

在Reddit上有人認(rèn)為:這不是一個(gè)bug。

雖然這個(gè)問(wèn)題非常常見(jiàn),但它并不算是一個(gè)bug,而是一個(gè)在調(diào)試時(shí)不可以忽略的點(diǎn)。

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

就是這個(gè)觀點(diǎn),激起了千層浪花,許多人都認(rèn)為他忽略了問(wèn)題的關(guān)鍵所在。

這不是產(chǎn)生偽隨機(jī)數(shù)的問(wèn)題,也不是numpy的問(wèn)題,問(wèn)題的核心是在于PyTorch中的DataLoader的實(shí)現(xiàn)

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

對(duì)于包含隨機(jī)轉(zhuǎn)換的數(shù)據(jù)加載pipeline,這意味著每個(gè)worker都將選擇“相同”的轉(zhuǎn)換。

而現(xiàn)在NN中的許多數(shù)據(jù)加載pipeline,都使用某種類型的隨機(jī)轉(zhuǎn)換來(lái)進(jìn)行數(shù)據(jù)增強(qiáng),所以不重新初始化可能是一個(gè)預(yù)設(shè)。

另一位網(wǎng)友也表示這個(gè)bug其實(shí)是在預(yù)設(shè)程序下運(yùn)行才出現(xiàn)的,應(yīng)該向更多用戶指出來(lái)。

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

并且95%以上的Pytorch庫(kù)受此困擾,也絕不是危言聳聽(tīng)。

有人就分享出了自己此前的慘痛經(jīng)歷:

我認(rèn)識(shí)到這一點(diǎn)是之前跑了許多進(jìn)程來(lái)創(chuàng)建數(shù)據(jù)集時(shí),然而發(fā)現(xiàn)其中一半的數(shù)據(jù)是重復(fù)的,之后花了很長(zhǎng)的時(shí)間才發(fā)現(xiàn)哪里出了問(wèn)題。

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

也有用戶補(bǔ)充說(shuō),如果 95% 以上的用戶使用時(shí)出現(xiàn)錯(cuò)誤,那么代碼就是錯(cuò)的。

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

順便一提,這提供了Karpathy定律的另一個(gè)例子:即使你搞砸了一些非常基本代碼,“neural nets want to work”。

你有踩過(guò)PyTorch的坑嗎?

如上的bug并不是偶然,隨著用PyTorch的人越來(lái)越多,被發(fā)現(xiàn)的bug也就越來(lái)越多,某乎上還有PyTorch的坑之總結(jié),被瀏覽量高達(dá)49w。

95%PyTorch庫(kù)都會(huì)中招的bug!特斯拉AI總監(jiān)都沒(méi)能幸免

其中從向量、函數(shù)到model.train(),無(wú)論是真bug還是自己出了bug,大家的血淚史還真的是各有千秋。

所以,關(guān)于PyTorch你可以分享的經(jīng)驗(yàn)血淚史嗎?

 

 

責(zé)任編輯:張燕妮 來(lái)源: 量子位
相關(guān)推薦

2020-08-18 14:48:00

AI 數(shù)據(jù)人工智能

2022-10-10 10:09:39

加密欺詐DeFi

2022-02-23 18:36:11

釣魚(yú)郵件數(shù)據(jù)泄露網(wǎng)絡(luò)攻擊

2019-03-01 08:20:26

2022-11-01 13:42:54

雷達(dá)智能

2023-01-16 14:33:31

GitHubAI

2018-10-09 10:15:32

2021-12-09 10:26:35

AI 數(shù)據(jù)人工智能

2021-02-26 14:33:04

Javascript數(shù)據(jù)類型前端

2021-03-01 11:53:13

Javascript數(shù)據(jù)類型前端

2022-08-21 21:15:28

模型AI

2017-05-26 16:01:38

2015-07-28 15:08:15

2020-05-28 11:25:55

AI 數(shù)據(jù)人工智能

2023-04-10 15:37:18

AI代碼

2022-04-24 10:51:57

Python漏洞

2014-02-18 13:45:39

bug程序員

2018-07-23 09:37:08

2022-03-16 18:38:06

AI特斯拉神經(jīng)網(wǎng)絡(luò)

2023-07-05 15:18:42

AI自動(dòng)駕駛
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)