Ejemplo n.º 1
0
                              patience=100)
csv_logger = CSVLogger('output/{}_fcn_vgg16.csv'.format(
    datetime.datetime.now().isoformat()))

datagen = PascalVocGenerator(**init_args['pascal_voc_generator']['train'])

train_loader = ImageSetLoader(**init_args['image_set_loader']['train'])
val_loader = ImageSetLoader(**init_args['image_set_loader']['val'])

fcn_vgg16 = FCN(basenet='vgg16', input_shape=(500, 500, 3), num_output=21)
fcn_vgg16.compile(optimizer='rmsprop',
                  loss='categorical_crossentropy',
                  metrics=['accuracy', 'categorical_accuracy'])

flow_args = init_args['pascal_voc_generator']['flow_from_imageset']
train_flow_args = flow_args.copy()
train_flow_args['image_set_loader'] = train_loader
val_flow_args = flow_args.copy()
val_flow_args['image_set_loader'] = val_loader

fcn_vgg16.fit_generator(
    datagen.flow_from_imageset(**train_flow_args),
    steps_per_epoch=1112,
    epochs=100,
    validation_data=datagen.flow_from_imageset(**val_flow_args),
    validation_steps=1111,
    verbose=1,
    max_q_size=100,
    callbacks=[lr_reducer, early_stopper, csv_logger])
fcn_vgg16.save('output/fcn_vgg16.h5')
Ejemplo n.º 2
0
from fcn import FCN

# set PATH to location of Pacal VOC dataset
PATH = '/home/seth/Datasets/VOCtrainval_11-May-2012/VOCdevkit/VOC2012/'

fcn = FCN(path=PATH)
#fcn.load('my_model')
fcn.train(epochs=75)
fcn.save('my_model')
fcn.evaluate(val=False)
fcn.evaluate()
for id in fcn.train_list[:10]:
    fcn.data.show_seg(id)
    fcn.predict(id)
for id in fcn.val_list[:10]:
    fcn.data.show_seg(id)
    fcn.predict(id)