Как добавить новую модель к предыдущей модели в каждой итерации во время тренировки в керасе? - PullRequest
0 голосов
/ 04 июля 2019

Здесь я пытаюсь тренировать свою модель, сохраняя ее после каждой операции. В отличие от того, что я думал, модель всегда соответствует , хотя была применена почти вся техника регуляризации. Я думаю, что я, возможно, понял проблему, которую я подробно описал ниже.

Вот код:

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 - метки для данных обучения и валидации соответственно. Я сохраняю модель после каждой итерации.

Я думаю, что на каждой итерации сохраненная модель предыдущего шага заменяется, но мне нужно внести какие-то изменения. Это причина переоснащения модели .

Я знаю, что могу сохранить в конце , но я хочу реализовать концепцию контрольных точек только здесь, все контрольные точки в некотором роде слиты .

Это вообще возможно?

Если да, укажите рабочий код.

...