Aug-07-2018, 05:01 AM
I have a model that I've trained for 75 epochs. saved the model with model.save(). The code for training is
How do i restart training ? just run this code again ? or do i need to make some changes ? and what are those changes?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
from keras.preprocessing.image import ImageDataGenerator from keras.models import Sequential, load_model from keras.layers import Conv2D, MaxPooling2D from keras.layers import Activation, Dropout, Flatten, Dense from keras import backend as K # dimensions of our images. img_width, img_height = 320 , 240 train_data_dir = 'dataset/Training_set' validation_data_dir = 'dataset/Test_set' nb_train_samples = 4000 #total nb_validation_samples = 1000 # total epochs = 25 batch_size = 10 if K.image_data_format() = = 'channels_first' : input_shape = ( 3 , img_width, img_height) else : input_shape = (img_width, img_height, 3 ) model = Sequential() model.add(Conv2D( 32 , ( 3 , 3 ), input_shape = input_shape)) model.add(Activation( 'relu' )) model.add(MaxPooling2D(pool_size = ( 2 , 2 ))) model.add(Conv2D( 32 , ( 3 , 3 ))) model.add(Activation( 'relu' )) model.add(MaxPooling2D(pool_size = ( 2 , 2 ))) model.add(Conv2D( 64 , ( 3 , 3 ))) model.add(Activation( 'relu' )) model.add(MaxPooling2D(pool_size = ( 2 , 2 ))) model.add(Flatten()) model.add(Dense( 64 )) model.add(Activation( 'relu' )) model.add(Dropout( 0.5 )) model.add(Dense( 1 )) model.add(Activation( 'sigmoid' )) model. compile (loss = 'binary_crossentropy' , optimizer = 'rmsprop' , metrics = [ 'accuracy' ]) # this is the augmentation configuration we will use for training train_datagen = ImageDataGenerator( rescale = 1. / 255 , shear_range = 0.2 , zoom_range = 0.2 , horizontal_flip = True ) # this is the augmentation configuration we will use for testing: # only rescaling test_datagen = ImageDataGenerator(rescale = 1. / 255 ) train_generator = train_datagen.flow_from_directory( train_data_dir, target_size = (img_width, img_height), batch_size = batch_size, class_mode = 'binary' ) validation_generator = test_datagen.flow_from_directory( validation_data_dir, target_size = (img_width, img_height), batch_size = batch_size, class_mode = 'binary' ) model.fit_generator( train_generator, steps_per_epoch = nb_train_samples / / batch_size, epochs = epochs, validation_data = validation_generator, validation_steps = 5 ) model.save( 'model1.h5' ) |