1

我正在關注Tensorflow Object Detection API tutorial,以在我自己的Google雲數據集上訓練更快的R-CNN模型。但是,下面的「內存不足」錯誤一直在發生。當內存使用率接近於零時,Google Cloud ML引擎出現「內存不足」錯誤

The replica master 0 ran out-of-memory and exited with a non-zero status of 247. 

並根據日誌,一個非零退出狀態返回。如the official documentation中所述,代碼可能意味着訓練使用比分配更多的存儲器。

但是,內存利用率低於0.2。那麼爲什麼我有內存問題?如果有幫助,the memory utilization graph is here.

回答

3

內存利用率圖是所有工人的平均值。在內存不足錯誤的情況下,也不能保證最終的數據點被成功導出(例如,內存中突然出現巨大的峯值)。我們正在採取措施使內存利用率圖更加有用。

如果您正在使用Master進行評估(如大多數示例所示),則Master使用相對於普通worker的大約2倍的RAM。你可以考慮使用large_model machine type

+0

我在得到相同的錯誤後使用了large_model機器類型,但在與STANDARD_1縮放層相同數量的訓練步驟後失敗。你知道可能是什麼修復? – tzharg

+0

@ rhaertel80,難道越來越多的工人解決這個問題,或者我們必須像你說的那樣使用更大型的機器類型? – LittleZero

0

看着你的錯誤,看起來你的ML代碼消耗的是最初分配的內存。

嘗試使用允許更多內存的機器類型,例如「large_model」或「c​​omplex_model_l」。使用config.yaml來定義它如下:

trainingInput: 
scaleTier: CUSTOM 
# 'large_model' for bigger model with lots of data 
masterType: large_model 
runtimeVersion: "1.4" 

還有一個類似的問題Google Cloud machine learning out of memory。請參考該鏈接瞭解實際解決方案。

+0

這並沒有真正回答這個問題。如果您有不同的問題,可以通過單擊[提問](https://stackoverflow.com/questions/ask)來提問。您可以[添加賞金](https://stackoverflow.com/help/privileges/set-bounties)在您擁有足夠的[聲譽](https://stackoverflow.com/help/)後吸引更多關注此問題什麼聲譽)。 - [來自評論](/ review/low-quality-posts/18249256) –

0

running_pets教程使用BASIC_GPU層,因此GPU可能已經耗盡內存。 ML引擎上的圖表當前僅顯示CPU內存利用率。

如果出現這種情況,將您的層更改爲更大的GPU可以解決問題。 Here是關於不同層次的一些信息。 在同一頁上,您將找到關於如何配置yaml文件的示例。