自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

TensorFlow被曝存嚴(yán)重bug,搭配Keras可能丟失權(quán)重,至今仍未修復(fù)

新聞 機(jī)器學(xué)習(xí)
最近,一位從事NLP工程師Gupta發(fā)現(xiàn)了TensorFlow存在的一個(gè)嚴(yán)重bug:每個(gè)在自定義層中使用Keras函數(shù)式API的用戶都要注意了!

 [[333827]]

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

最近,一位從事NLP工程師Gupta發(fā)現(xiàn)了TensorFlow存在的一個(gè)嚴(yán)重bug:

每個(gè)在自定義層中使用Keras函數(shù)式API的用戶都要注意了!使用用Keras的Functional API創(chuàng)建的權(quán)重,可能會(huì)丟失。

這一話題在Reddit機(jī)器學(xué)習(xí)板塊上被熱議,引起不少TensorFlow用戶共鳴。

TensorFlow被曝存嚴(yán)重bug,搭配Keras可能丟失權(quán)重,至今仍未修復(fù)

具體來(lái)說(shuō),就是在API中使用自定義層,會(huì)導(dǎo)致trainable_variables中的權(quán)重?zé)o法更新。而且這些權(quán)重也不會(huì)放入non_trainable_variables中。

也就是說(shuō),原本需要訓(xùn)練的權(quán)重現(xiàn)在被凍結(jié)了。

讓這位工程師感到不滿的是,他大約一個(gè)月前在GitHub中把這個(gè)bug報(bào)告給谷歌,結(jié)果谷歌官方到現(xiàn)在還沒(méi)有修復(fù)。

TensorFlow被曝存嚴(yán)重bug,搭配Keras可能丟失權(quán)重,至今仍未修復(fù)

解決辦法

如何檢驗(yàn)自己的代碼是否會(huì)出現(xiàn)類似問(wèn)題呢?請(qǐng)調(diào)用model.trainable_variables來(lái)檢測(cè)自己的模型:

  1. for i, var in enumerate(model.trainable_variables): 
  2.     print(model.trainable_variables[i].name) 

看看你所有的可變權(quán)重是否正確,如果權(quán)重缺失或者未發(fā)生變化,說(shuō)明你也中招了。

Gupta還自己用Transformer庫(kù)創(chuàng)建模型的bug在Colab筆記本中復(fù)現(xiàn)了,有興趣的讀者可以前去觀看。

https://colab.research.google.com/gist/Santosh-Gupta/40c54e5b76e3f522fa78da6a248b6826/missingtrainablevarsinference_var.ipynb

對(duì)此問(wèn)題,Gupta給出的一種解決方法是:改為使用Keras子類創(chuàng)建模型。改用此方法后,所有的權(quán)重都將出現(xiàn)在trainable_variables中。

為了絕對(duì)確保用函數(shù)式API和子類方法創(chuàng)建的模型完全相同,Gupta在每個(gè)Colab筆記本底部使用相同的輸入對(duì)它們進(jìn)行了推理,模型的輸出完全相同。

但是,使用函數(shù)式API模型進(jìn)行訓(xùn)練會(huì)將許多權(quán)重視為凍結(jié),而且這些權(quán)重也沒(méi)有出現(xiàn)在non_trainable_variables中,因此無(wú)法為這些權(quán)重解凍。

為了檢查谷歌最近是否修復(fù)了該漏洞,Gupta還安裝了Nightly版的TF 2.3.0-rc1,保持框架處于最新?tīng)顟B(tài),但如今bug依然存在。

網(wǎng)友:還是用PyTorch吧

剛剛,Keras創(chuàng)始人在Twitter上回復(fù),這不是Keras的bug,并建議程序員使用單元測(cè)試。

TensorFlow被曝存嚴(yán)重bug,搭配Keras可能丟失權(quán)重,至今仍未修復(fù)

對(duì)于Gupta所說(shuō)的bug,有網(wǎng)友說(shuō),他在TensorFlow和Keras之間傳遞權(quán)重的時(shí)候,出現(xiàn)了類似的錯(cuò)誤,從此轉(zhuǎn)而使用PyTorch。

另外還有不少網(wǎng)友也反映,谷歌的框架不太完善,管理方式一團(tuán)糟,是在讓用戶幫他們測(cè)試TensorFlow的bug。

反觀PyTorch,說(shuō)明文檔通俗易懂,最近官方還出了免費(fèi)電子書,難道用PyTorch不香嗎?

你現(xiàn)在在使用哪種深度學(xué)習(xí)框架,你也遇到過(guò)類似的嚴(yán)重bug嗎?

 

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

2023-12-08 13:18:27

2009-04-27 23:45:07

2024-01-15 11:45:27

2015-08-26 10:14:29

2011-03-31 12:18:45

2022-06-05 23:43:21

iOS蘋果bug

2016-01-08 13:48:56

2015-09-20 21:02:36

2024-10-12 14:36:34

2015-03-26 12:14:02

iOS漏洞蘋果手機(jī)手機(jī)安全

2015-10-12 10:07:19

2022-09-23 15:33:48

iOS16耗電功能

2015-10-12 11:11:56

2019-02-21 10:11:49

2020-11-13 18:56:39

漏洞rootUbuntu

2021-10-08 14:33:32

Windows 11操作系統(tǒng)微軟

2020-12-11 15:19:56

ChromeEdge瀏覽器

2021-12-30 15:18:18

安全漏洞攻擊身份驗(yàn)證

2017-01-03 19:48:33

2024-01-03 14:41:30

iOS 17蘋果
點(diǎn)贊
收藏

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