2
背景
我有一個單層,256隱藏單元,我已經用Keras培訓過的RNN,現在我想部署。理想情況下,我想將這個RNN的多個實例部署到GPU上。但是,在這一點上,當我使用keras.models.load_model()
加載模型時,它似乎使用了我可用的12Gb GPU內存的11Gb。瞭解經過訓練的神經網絡內存使用情況
問題
- 爲什麼我的網絡,這是相當小,佔用這麼多內存?我只想預測,而不是訓練。我是否以錯誤的方式加載模型?
- 有什麼方法可以大致瞭解我的RNN結構到它將使用的GPU內存量的映射嗎?
- 有了這個理解,我該如何減少我的RNN消耗的內存量?
目前瞭解
我目前的多少內存我的網絡應該使用是從超參數的數量給出估計:
- 256輸入的權重
- 256輸出權
- 256x256輪迴重量
- 256隱藏單位小號
- 256隱藏的單元偏置
總:32 bits/parameter x (4 x 256 + 256 x 256) parameters = 260e6 bits
這是顯著不到什麼我目前看到的。所以我的假設是,Keras認爲我仍在訓練我的模型,因此正試圖緩存批量錯誤大小。但是我還應該如何加載我的模型?