模型甚至还没有开始训练谷歌 Colab

时间:2021-03-22 07:46:25

标签: python tensorflow keras conv-neural-network google-colaboratory

我购买了 Colab pro 来训练我的 CNN 模型,当我尝试仅使用 4k 图像训练模型时,训练立即开始……但是当我尝试使用 30k 图像训练模型时,训练获胜甚至没有开始。 .我什至等了 1 个小时,但模型从未开始训练它在第一个纪元本身就卡住了......我的代码没有任何问题,我仔细检查过......image shows where i got stuck even at first epoch of my model training with 30k images

3 个答案:

答案 0 :(得分:0)

当你想在大量图像上拟合一个模型时,你不能传递整个图像数据库,你必须使用一个生成器,只将当前批次传递给模型,考虑编写一个或使用 TFRecords。这是谷歌实验室的一个很好的例子:

https://codelabs.developers.google.com/codelabs/keras-flowers-tpu/#4

答案 1 :(得分:0)

批量处理是训练大型数据集的好主意。延迟是由于数据集中的大量数据造成的。下面是一个很好的例子来做到这一点。 (注意每个时期的步骤如何划分数据)。根据您的数据仔细选择批量大小。

batch_size = 1000
history = model.fit_generator(
train_generator,
steps_per_epoch=train_generator.samples//train_generator.batch_size,
epochs=5,
validation_data=validation_generator, validation_steps=validation_generator.samples//validation_generator.batch_size,
verbose=1)

答案 2 :(得分:0)

我使用这个生成器修复了大数据集问题...下面我使用的代码

train_datagen = ImageDataGenerator(rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
validation_split=0.2) # set validation split

train_generator = train_datagen.flow_from_directory(
data_dir,
target_size=(img_height, img_width),
batch_size=batch_size,
class_mode='categorical',
subset='training') # set as training data

validation_generator = train_datagen.flow_from_directory(
data_dir, # same directory as training data
target_size=(img_height, img_width),
batch_size=batch_size,
class_mode='categorical',
subset='validation') # set as validation data

history=model.fit_generator(
     train_generator,
     steps_per_epoch = train_generator.samples // batch_size,
     validation_data = validation_generator, 
     validation_steps = validation_generator.samples // batch_size,
     epochs = epochs)