簡體   English   中英

Tensorflow上VGG16的內存問題

[英]Memory issues with VGG16 on Tensorflow

我一直在嘗試使用具有Tensorflow后端的VGG16 Keras模型來工作,以便對“行星:從 Kaggle的太空競賽中了解亞馬遜”進行圖像分類。 不幸的是,當試圖使模型運行時,即使在具有60 GB內存的AWS g.2.8大型AWS上運行時,我始終遇到內存問題。

問題的回溯如下:

    Layer (type)                 Output Shape              Param #
=================================================================
input_1 (InputLayer)         (None, 224, 224, 3)       0
_________________________________________________________________
block1_conv1 (Conv2D)        (None, 224, 224, 64)      1792
_________________________________________________________________
block1_conv2 (Conv2D)        (None, 224, 224, 64)      36928
_________________________________________________________________
block1_pool (MaxPooling2D)   (None, 112, 112, 64)      0
_________________________________________________________________
block2_conv1 (Conv2D)        (None, 112, 112, 128)     73856
_________________________________________________________________
block2_conv2 (Conv2D)        (None, 112, 112, 128)     147584
_________________________________________________________________
block2_pool (MaxPooling2D)   (None, 56, 56, 128)       0
_________________________________________________________________
block3_conv1 (Conv2D)        (None, 56, 56, 256)       295168
_________________________________________________________________
block3_conv2 (Conv2D)        (None, 56, 56, 256)       590080
_________________________________________________________________
block3_conv3 (Conv2D)        (None, 56, 56, 256)       590080
_________________________________________________________________
block3_pool (MaxPooling2D)   (None, 28, 28, 256)       0
_________________________________________________________________
block4_conv1 (Conv2D)        (None, 28, 28, 512)       1180160
_________________________________________________________________
block4_conv2 (Conv2D)        (None, 28, 28, 512)       2359808
_________________________________________________________________
block4_conv3 (Conv2D)        (None, 28, 28, 512)       2359808
_________________________________________________________________
block4_pool (MaxPooling2D)   (None, 14, 14, 512)       0
_________________________________________________________________
block5_conv1 (Conv2D)        (None, 14, 14, 512)       2359808
_________________________________________________________________
block5_conv2 (Conv2D)        (None, 14, 14, 512)       2359808
_________________________________________________________________
block5_conv3 (Conv2D)        (None, 14, 14, 512)       2359808
_________________________________________________________________
block5_pool (MaxPooling2D)   (None, 7, 7, 512)         0
_________________________________________________________________
sequential_1 (Sequential)    (None, 1)                 6423041
=================================================================
Total params: 21,137,729.0
Trainable params: 21,137,729.0
Non-trainable params: 0.0
_________________________________________________________________
Traceback (most recent call last):
  File "VGG16_Kg_Kernel.py", line 160, in <module>
        train_datagen.fit(x_train)
      File "/home/ec2-user/src/anaconda3/lib/python3.5/site-packages/keras/preprocessing/image.py", line 648, in fit
        x = np.copy(x)
      File "/home/ec2-user/src/anaconda3/lib/python3.5/site-packages/numpy/lib/function_base.py", line 1497, in copy
        return array(a, order=order, copy=True)
    MemoryError

完整的打印輸出可以在這里找到: https : //github.com/jvk/VGG16/blob/master/error_text.txt

從打印結果來看,GPU似乎正在運行,但是可能運行不正常。

數據包含〜100K 11.6 KB圖像。 我用來運行模型的代碼可以在這里找到: https : //github.com/jvk/VGG16/blob/master/VGG16_Kg_Kernel.py

如果需要更多信息,請告訴我。謝謝!

簡而言之,就是您的GPU內存不足,而不是RAM。 G2具有4GB圖形處理器,並且VGG16和Tensorflow似乎存在問題。

我已經使用Theano后端運行了相同的程序,沒有任何問題。 我建議嘗試一下。

暫無
暫無

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

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