Commited minutiae
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
"""Code for FineNet in paper "Robust Minutiae Extractor: Integrating Deep Networks and Fingerprint Domain Knowledge" at ICB 2018
|
||||
https://arxiv.org/pdf/1712.09401.pdf
|
||||
|
||||
If you use whole or partial function in this code, please cite paper:
|
||||
|
||||
@inproceedings{Nguyen_MinutiaeNet,
|
||||
author = {Dinh-Luan Nguyen and Kai Cao and Anil K. Jain},
|
||||
title = {Robust Minutiae Extractor: Integrating Deep Networks and Fingerprint Domain Knowledge},
|
||||
booktitle = {The 11th International Conference on Biometrics, 2018},
|
||||
year = {2018},
|
||||
}
|
||||
"""
|
||||
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
|
||||
import os
|
||||
os.environ['KERAS_BACKEND'] = 'tensorflow'
|
||||
|
||||
from datetime import datetime
|
||||
from MinutiaeNet_utils import *
|
||||
|
||||
from keras import backend as K
|
||||
from keras.optimizers import SGD, Adam
|
||||
|
||||
from CoarseNet_utils import *
|
||||
from CoarseNet_model import *
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(description='Minutiae Net')
|
||||
parser.add_argument('lr', type=str, default="0.005",
|
||||
help='Setting learning rate')
|
||||
|
||||
parser.add_argument('GPU', type=str, default="0",
|
||||
help='Choosing GPU')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
os.environ["CUDA_VISIBLE_DEVICES"] = args.GPU
|
||||
|
||||
config = K.tf.ConfigProto(gpu_options=K.tf.GPUOptions(allow_growth=True))
|
||||
sess = K.tf.Session(config=config)
|
||||
K.set_session(sess)
|
||||
|
||||
batch_size = 2
|
||||
use_multiprocessing = False
|
||||
input_size = 400
|
||||
|
||||
# Can use multiple folders for training
|
||||
train_set = ['../Dataset/CoarseNet_train/',]
|
||||
|
||||
validate_set = ['../path/to/your/data/',]
|
||||
|
||||
pretrain_dir = '../Models/CoarseNet.h5'
|
||||
output_dir = '../output_CoarseNet/'+datetime.now().strftime('%Y%m%d-%H%M%S')
|
||||
FineNet_dir = '../Models/FineNet.h5'
|
||||
|
||||
if __name__ =='__main__':
|
||||
|
||||
output_dir = '../output_CoarseNet/trainResults/' + datetime.now().strftime('%Y%m%d-%H%M%S')
|
||||
logging = init_log(output_dir)
|
||||
logging.info("Learning rate = %s", args.lr)
|
||||
logging.info("Pretrain dir = %s", pretrain_dir)
|
||||
|
||||
train(input_shape=(input_size, input_size), train_set=train_set, output_dir=output_dir,
|
||||
pretrain_dir=pretrain_dir, batch_size=batch_size, test_set=validate_set,
|
||||
learning_config=Adam(lr=float(args.lr), beta_1=0.9, beta_2=0.999, epsilon=1e-08, clipnorm=0.9),
|
||||
logging=logging)
|
||||
Reference in New Issue
Block a user