# fuu = next(gen_val) # import ipdb; ipdb.set_trace() # train dataset dataset_train = u.get_dataset(coco_path, 'train') gen_train = prepare( dataset_train, epochs, batch_size, input_shape, output_shape) callback = ModelSaveBestAvgAcc( filepath="model-{epoch:02d}-{acc:.2f}.hdf5", verbose=True ) losses = [] for i in range(0, 4): losses.append(binary_focal_loss(gamma=2.)) model = get_model(input_shape) model.compile( optimizer=opt.Adam(lr=1e-4), loss=losses, metrics=['accuracy'] ) model.summary() model.fit_generator( gen_train, steps_per_epoch=len(dataset_train.image_ids) // batch_size, epochs=epochs, validation_data=gen_val,
gen_train = prepare(dataset_train, epochs, batch_size, input_shape, output_shape) callback = callbacks.ModelCheckpoint( filepath="model-{epoch:02d}-{val_acc:.2f}.hdf5", monitor="val_acc", save_best_only=True, save_weights_only=False, mode="max", verbose=1) # model = unet(input_shape=input_shape) model = get_model(input_shape) model.compile( optimizer=opt.Adam(lr=1e-4), loss=binary_focal_loss(), # loss='binary_crossentropy', # loss=losses.mean_squared_error, # metrics=['accuracy', myacc(input_shape[0] * input_shape[1])] metrics=['accuracy']) model.summary() # import ipdb; ipdb.set_trace() model.fit_generator( gen_train, steps_per_epoch=len(dataset_train.image_ids) // batch_size, epochs=epochs, validation_data=gen_val, validation_steps=len(dataset_val.image_ids) // batch_size, callbacks=[callback],
def load_model(path): return models.load_model( path, custom_objects={'focal_loss': binary_focal_loss()})
# import ipdb; ipdb.set_trace() # model = u.load_model('./model-03-0.90.hdf5') # res = u.get_img_cleaned(model, fuu[0]) # import ipdb; ipdb.set_trace() # train dataset dataset_train = u.get_dataset(coco_path, 'train') gen_train = prepare(dataset_train, epochs, batch_size, os.path.join(coco_path, 'train_output')) callback = ModelSaveBestAvgAcc(filepath="model-{epoch:02d}-{acc:.2f}.hdf5", verbose=True) losses = [] for i in range(0, dataset_val.num_classes): losses.append(binary_focal_loss(gamma=2., alpha=0.9995)) for i in range(0, 3): losses.append(binary_focal_loss(gamma=2., alpha=0.8)) # model = unet(input_shape=input_shape) model = get_model(input_shape, dataset_val.num_classes) model.compile(optimizer=opt.Adam(lr=1e-4), loss=losses, metrics=['accuracy']) model.summary() # import ipdb; ipdb.set_trace() model.fit_generator(gen_train, steps_per_epoch=len(dataset_train.image_ids) // batch_size, epochs=epochs, validation_data=gen_val, validation_steps=len(dataset_val.image_ids) // batch_size,
output_shape) callback = ModelSaveBestAvgAcc(filepath="model-{epoch:02d}-{acc:.2f}.hdf5", verbose=True) # callback = callbacks.ModelCheckpoint( # filepath="model-{epoch:02d}-{val_acc:.2f}.hdf5", # monitor="val_acc", # save_best_only=True, save_weights_only=False, # mode="max", verbose=1 # ) # model = unet(input_shape=input_shape) model = get_model(input_shape) model.compile( optimizer=opt.Adam(lr=1e-4), loss=[binary_focal_loss(), binary_focal_loss()], # loss='binary_crossentropy', # loss=losses.mean_squared_error, # metrics=['accuracy', myacc(input_shape[0] * input_shape[1])] metrics=['accuracy']) model.summary() # import ipdb; ipdb.set_trace() model.fit_generator( gen_train, steps_per_epoch=len(dataset_train.image_ids) // batch_size, epochs=epochs, validation_data=gen_val, validation_steps=len(dataset_val.image_ids) // batch_size, callbacks=[callback],