Skip to content

[已解決] module 'numpy' has no attribute 'item'

Last Updated on 2023-03-02 by Clay

問題描述

前一陣子,我在研究如何使用 Transformer 強化學習 (Transformer Reinforcement Learning, TRL) 這一技術/套件時,我跑官方的腳本會出現一個關於 numpy 的錯誤。其錯誤訊息如下:

module 'numpy' has no attribute 'item'


初見時的第一感,自然是我的資料哪裡整理得格式不對了、前處理哪邊弄錯了,這才導致我的 numpy 在呼叫時可能缺少某個屬性...... 但嘗試追了一下問題之後發現,不對啊?問題的根源是 TRL 套件、而且報錯中指名的錯誤是 module 'numpy' 缺乏屬性,所以並不是之後可能應用到的 np.array


解決方法

在網路上查詢了一下之後,發現另外一個很常見的類似錯誤是 module 'numpy' has no attribute 'object' —— 因為 object 在 numpy 1.24 版本時已經遭到棄用。

那麼如果是自己寫的程式碰到這種問題,自然是修改自己的寫法就能夠避免;但我今天遇到的問題是出在我所使用的深度學習套件上。所以要解決這種問題,自然只剩下兩種方法:

  1. 把我所使用的 TRL 套件更新到最新(然而,我發現最新版本仍然會存在這樣的 numpy 問題,可能他們開發時使用的就是較舊的版本)
  2. 自行把當前環境的 numpy 版本降版(downgrade),比方說回滾到 1.20 版

然後因為我所工作的伺服器,大部分的環境都是同事之間共用的...... 所以我只好自行建立另外的虛擬環境來安裝自己需要的版本 QQ。

不過,總之更改版本或更改 code 就能解決掉這方面的問題,模型也能正常訓練了。


References


Read More

Tags:

Leave a Reply