【问题标题】:Memory issues with VGG16 on TensorflowTensorflow 上 VGG16 的内存问题
【发布时间】:2017-06-16 16:04:45
【问题描述】:

我一直在尝试使用带有 Tensorflow 后端的 VGG16 Keras 模型来为 Kaggle 上的 'Planet: Understanding the Amazon from Space 比赛分类图像。不幸的是,当试图让模型运行时,我一直遇到内存问题,即使在 AWS 的 g.2.8 large 具有 60 GB 内存的情况下运行也是如此。

问题的追溯如下:

    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/j-v-k/VGG16/blob/master/error_text.txt

从打印输出来看,GPU 似乎正在运行,但它可能运行不完美。

数据包含约 100K 11.6 KB 图像。我用来运行模型的代码可以在这里找到:https://github.com/j-v-k/VGG16/blob/master/VGG16_Kg_Kernel.py

如果需要更多信息,请告诉我。谢谢!

【问题讨论】:

    标签: python amazon-web-services machine-learning tensorflow keras


    【解决方案1】:

    不足之处是您的 GPU 内存不足,而不是 RAM。 G2 有 4GB 图形处理器,VGG16 和 Tensorflow 似乎存在问题。

    我用 Theano 后端运行了同样的程序,没有任何问题。我建议尝试一下。

    【讨论】:

    • 谢谢,我试试看
    猜你喜欢
    • 1970-01-01
    • 2020-04-04
    • 2019-05-07
    • 2018-02-17
    • 2021-06-08
    • 1970-01-01
    • 2018-12-31
    • 2022-01-25
    • 2020-03-04
    相关资源
    最近更新 更多