#  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,
Exemple #2
0
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],
Exemple #3
0
def load_model(path):
    return models.load_model(
        path, custom_objects={'focal_loss': binary_focal_loss()})
Exemple #4
0
#  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,
Exemple #5
0
                    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],