2016-06-08 49 views
4

由於小GPU內存(1Gb),我遇到了一些問題,問題是,現在我選擇batch_size通過反覆試驗,似乎即使內存大小打印在行Memory required for data:行日誌小於1Gb它可能會失敗。Caffe:如何選擇適合內存的最大可用批量大小?

所以我的問題是:

  1. 如何自動選擇maximun菱批量大小,能適合在GPU內存?
  2. 有更大的batch_size總是會更好嗎?
  3. 如何計算網絡部署期間訓練和正向傳遞所需的峯值內存?

UPDATE: 我也檢查了code,但我不知道什麼是top_vecs_

回答

2

如果需要通過數據線存儲在日誌打印內存大小小於你的總GPU內存,它仍然可能會失敗,因爲其他程序正在使用某些GPU內存。在linux下,你可以使用nvidia-smi命令來查看統計信息。對我來說Ubuntu圖形環境使用97MB。

  1. 沒有辦法說咖啡自動做它。
  2. 是的,用於培訓。它在一次處理中處理更多的數據,並且它將收斂在較少的時期,因爲SGD將在每次迭代時產生更多與GD相似的結果。對於部署它不是關鍵
  3. 這可以給你大致的瞭解如何計算這個:http://cs231n.github.io/convolutional-networks/
+0

是的,我已經讀過這篇文章,但我的問題是更多的來自Caffe實現特定的,所以我想知道如何來自Caffe管理它的記憶。 – mrgloom

相關問題