“ValueError: Object arrays cannot be loaded when allow_pickle=False” 解決方式

keras 有內建一些資料集可以下載,在練習深度學習的時候,可以利用這些資料來測試 model,然而 Numpy 因為安全性的關係,改掉了其中的一段code,所以程式無法正常執行。

目前搜尋到的解決方案有兩種:將 numpy 的版本降回舊的版本,不過當時候就是因為安全性的問題所以改掉原本的程式碼的。所以建議使用第二種方式,我們去改 keras 中的程式碼。

若是沒有建立其他的 python 環境的話,檔案的路徑為是:(假設是要下載reuters 的資料,如果是要下載其他資料,就改相對應的檔案)

C:\Users\User\Anaconda3\Lib\site-packages\tensorflow\python\keras\datasets\reuters.py

像我的話在電腦建立跑 keras 的環境,路徑會是:

C:\Users\User\Anaconda3\envs\gpu\Lib\site-packages\keras\datasets\reuters.py

利用程式碼編輯器修改程式碼,把:

with np.load(path) as f:

改成:

with np.load(path, allow_pickle=True) as f:

修改完記得要存檔喔 ~ 這樣應該就能正常的下載囉~~

Facebook Comments

發表迴響