Здесь я пытаюсь тренировать свою модель, сохраняя ее после каждой операции. В отличие от того, что я думал, модель всегда соответствует , хотя была применена почти вся техника регуляризации. Я думаю, что я, возможно, понял проблему, которую я подробно описал ниже.
Вот код:
tr= mymodel()
def train(itr):
for k in range (0,itr):
#Select a random batch of 32 from the real images data set
idx = np.random.randint(0, image.shape[0]*0.75, batch_size)
idxx = np.random.randint(image.shape[0]*0.75+1,image.shape[0],8)
#Select a random batch of 32 from the fake images data set
idx1=np.random.randint(0,image1.shape[0]*0.75,batch_size)
idxx1 = np.random.randint(image1.shape[0]*0.75+1,image1.shape[0],8)
imgs = image[idx]
igs = image1[idx1]
imgs1= image[idxx]
igs1= image1[idxx1]
#Concatenate the real and fake images (without shuffling)
igss=np.concatenate((imgs,igs),axis=0)
igss1=np.concatenate((imgs1,igs1),axis=0)
es_callback = EarlyStopping(monitor='val_loss',patience=3)
out=tr.fit(igss,valid,epochs=10,shuffle=True,validation_data=(igss1,valid1),callbacks=[es_callback])
tr.save("VGG-scenetext-train-model2.h5")
Здесь в каждой итерации я выбираю случайное изображение размером 32 партии из обучающих данных и 8 из данных проверки и обучаю свою модель этим данным.
Valid и valid1 - метки для данных обучения и валидации соответственно. Я сохраняю модель после каждой итерации.
Я думаю, что на каждой итерации сохраненная модель предыдущего шага заменяется, но мне нужно внести какие-то изменения. Это причина переоснащения модели .
Я знаю, что могу сохранить в конце , но я хочу реализовать концепцию контрольных точек только здесь, все контрольные точки в некотором роде слиты .
Это вообще возможно?
Если да, укажите рабочий код.