簡體   English   中英

VirtualBox內存異常 - 使用TensorFlow和Docker的std :: bad_alloc

[英]VirtualBox memory exception - std::bad_alloc using TensorFlow and Docker

我有一個Python應用程序,我正在使用TensorFlow,我在Docker容器中運行它。 在本地運行時,我發現內存使用率遠低於4GB的Ram,但是有一些大型文件正在編寫和處理。 當TensorFlow到達創建其第一個檢查點文件的點時,我得到以下異常:

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

我的模型很復雜所以這個文件可能超過1GB,但我的數據也是圖像,所以我已經下載了大約30GB的數據,只是為了開始運行模型所以我不知道這是不是偶然發生在這里或者如果這個文件實際上太大了。 我只是將一小批圖像加載到內存中以進行每個時期的模型訓練,所以我試圖保持較低的RAM使用率。 我的VirtualBox配置如下所示:

在此輸入圖像描述

錯誤似乎是使用C ++,所以我假設它來自內部的TensorFlow代碼。 有沒有人見過這樣的東西或知道我能改變什么? 我覺得有足夠的RAM分配,但我的磁盤訪問可能沒有正確配置?

最有可能沒有足夠的RAM。 4GB對於運行TensorFlow(特別是在帶有默認安裝的python中)非常小以進行訓練。 您的模型大小可能低於1GB,但在訓練期間 - 當寫出檢查點時 - TensorFlow將臨時分配更多內存用於緩沖,這可能是您收到OOM錯誤的地方。 如果你正常運行4GB,直到檢查點,8GB應該沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM