如何处理一个文件夹中包含所有图像类的图像数据库?在训练模型期间,我丢失了RAM(Colab 12GB RAM)

时间:2019-07-12 17:19:43

标签: python database image tensorflow keras

在Keras中基于CNN的图像分类期间,我丢失了RAM(Colab 12GB RAM)。

我的数据库:

  

用于训练的图像:一个zip文件中包含约3500张图像(所有类在一个文件夹中)。

     

训练图像的目标:一个csv文件。

     

要测试的图像:一个zip文件中包含约1500张图像(所有类在一个文件夹中)。

     

我没有得到测试图像的任何目标(一维阵列)。

我的方法: 1.制作x_train矩阵(3662,224,224,3):


train = []

for filename in glob.glob('Train_Images/*.png'):
    im=Image.open(filename)
    img = im.resize((224, 224), Image.ANTIALIAS)
    sized=(np.asarray(img))/255
    train.append(sized)

x_train = (np.asarray(train))
print(x_train.shape)


  1. 制作一个热y_train矩阵(3662,5)

  2. 我想使用一些预先训练的模型:在这里,VGG16

  3. 编译模型:

Model.compile(Adam(lr=0.0001), loss='categorical_crossentropy', metrics=['accuracy'])
  1. 最后一步:Model.fit>
Model.fit(x_train, y_train, epochs=10, batch_size=32)

我还尝试了ImageDataGenerator:

Model.fit_generator(datagen.flow(x_train, y_train, batch_size=4),
                    steps_per_epoch=len(train) / 4, epochs=10)

运行我的代码进行培训时,我正在失去RAM。每次会话都失败了。

我使用的图像数据库每个班级都有不同的文件夹。我处理得很好。

有没有办法处理一个文件夹中包含所有类的图像数据库?我之前没有使用过tensorflow。张量流可以处理吗?

0 个答案:

没有答案