def __init__(self): # im, all_coordinates = demo.detection_demo(im_names) global sess, net, keras_model_antnet,keras_model_back,keras_model_face,\ classes_cows_back,classes_cows_antnet,classes_cows_face, graph_face, graph_back,graph_antnet,graph_objdetect sess, net = demo.restore_model('60000') graph_objdetect = tf.get_default_graph() # tf.reset_default_graph() # sess_id, net_id = demo_id.restore_model('100000') # set the backend whether tf or theano util.set_img_format() config.model = 'xception_face' # get the keras original model object keras_module_face = util.get_model_class_instance() # load the best trained model keras_model_face = keras_module_face.load() graph_face = tf.get_default_graph() # get the classes dict classes_cows_face = util.get_classes_in_keras_format() config.model = 'xception_back' # get the keras original model object keras_module_back = util.get_model_class_instance() # load the best trained model keras_model_back = keras_module_back.load() graph_back = tf.get_default_graph() # get the classes dict classes_cows_back = util.get_classes_in_keras_format() config.model = 'antnet' # get the keras original model object keras_module_antnet = util.get_model_class_instance() # load the best trained model keras_model_antnet = keras_module_antnet.load() graph_antnet = tf.get_default_graph() # get the classes dict classes_cows_antnet = util.get_classes_in_keras_format() # warm up the model print('Warming up the keras model face') input_shape = (1, ) + keras_module_face.img_size + (3, ) dummpy_img = numpy.ones(input_shape) dummpy_img = preprocess_input(dummpy_img) keras_model_face.predict(dummpy_img) # warm up the model print('Warming up the keras model back') input_shape = (1, ) + keras_module_back.img_size + (3, ) dummpy_img = numpy.ones(input_shape) dummpy_img = preprocess_input(dummpy_img) keras_model_back.predict(dummpy_img) # warm up the model print('Warming up the keras model antnet') input_shape = (1, ) + keras_module_antnet.img_size + (3, ) dummpy_img = numpy.ones(input_shape) dummpy_img = preprocess_input(dummpy_img) keras_model_antnet.predict([dummpy_img, np.random.rand(1)])
def init(): util.lock() util.set_img_format() util.override_keras_directory_iterator_next() util.set_classes_from_train_dir() util.set_samples_info() if not os.path.exists(config.trained_dir): os.mkdir(config.trained_dir)
def predict_target_by_paths(paths, augment_times=1): util.set_img_format() # sys.argv[0] = "--model=resnet50" predict.args = predict.parse_args() predict.model_module = util.get_model_class_instance() predict.model = predict.model_module.load() predict.classes_in_keras_format = util.get_classes_in_keras_format() for path in paths: predict.predict(dir=path, augment_times=augment_times)
def init(): util.lock()#detect previous precess has completed or not util.set_img_format()#set image format: channels first or channels last util.override_keras_directory_iterator_next() util.set_classes_from_train_dir()#data_dir: data/sorted/train/ util.set_samples_info() if util.get_keras_backend_name() != 'theano': util.tf_allow_growth() if not os.path.exists(config.trained_dir): os.mkdir(config.trained_dir)
def init(): util.lock() util.set_img_format() util.override_keras_directory_iterator_next() util.set_classes_from_train_dir() util.set_samples_info() if util.get_keras_backend_name() != 'theano': util.tf_allow_growth() if not os.path.exists(config.trained_dir): os.mkdir(config.trained_dir)
def init(): util.lock() util.set_img_format() # Pay extremely attention to the RGB->BGR, the next method is override. util.override_keras_directory_iterator_next() util.set_classes_from_train_dir() util.set_samples_info() if util.get_keras_backend_name() != 'theano': util.tf_allow_growth() if not os.path.exists(config.trained_dir): os.mkdir(config.trained_dir)
def predict_target_by_dir(main_dir, augment_times=1): util.set_img_format() # sys.argv[0] = "--model=resnet50" predict.args = predict.parse_args() predict.model_module = util.get_model_class_instance() predict.model = predict.model_module.load() predict.classes_in_keras_format = util.get_classes_in_keras_format() dirs = glob.glob(main_dir + "*") global_summary = {"total": 0, "trues": 0, "falses": 0, "acc": 0} iter = 0 for dir in dirs: stats = predict.predict(dir + os.sep, iter, augment_times, False) iter += 1 global_summary["total"] += stats["summary"]["total"] global_summary["trues"] += stats["summary"]["trues"] global_summary["falses"] += stats["summary"]["falses"] global_summary["acc"] = float( global_summary["trues"]) / global_summary["total"] print("Global summary: {0}".format(global_summary))
if __name__ == '__main__': tic = time.clock() args = parse_args() print('=' * 50) print('Called with args:') print(args) if args.data_dir: config.data_dir = args.data_dir config.set_paths() if args.model: config.model = args.model util.set_img_format() model_module = util.get_model_class_instance() model = model_module.load() classes_in_keras_format = util.get_classes_in_keras_format() all_metrix = [] print('args.path:', os.listdir(args.path)) for cow_dir in os.listdir(args.path): root = args.path + str(cow_dir) store_label = predict(root) # print(store_label) all_metrix.append(metrix(store_label)) total = 0 for i in range(len(all_metrix)):
normalize=True) if __name__ == '__main__': tic = time.clock() #return the current cpu time args = parse_args() print('=' * 50) print('Called with args:') print(args) if args.data_dir: #user defined directory config.data_dir = args.data_dir #~ config.set_paths() #~ if args.model: #user defined model config.model = args.model #~ util.set_img_format() #channel_first or channels_last model_module = util.get_model_class_instance() #class model.resnet50 model = model_module.load( ) #creat base_model and load trained weight!(ResNet50) "G:\keras-transfer-learning-for-oxford102\trained\fine-tuned-resnet50-weights.h5" classes_in_keras_format = util.get_classes_in_keras_format( ) #get a dictory of classes predict(args.path) #we must input a path of directory including pictures if args.execution_time: # toc = time.clock() #record current time print('Time: %s' % (toc - tic)) #print execution time
cnf_matrix = confusion_matrix(y_trues, predictions) util.plot_confusion_matrix(cnf_matrix, config.classes, normalize=False) util.plot_confusion_matrix(cnf_matrix, config.classes, normalize=True) if __name__ == '__main__': tic = time.clock() args = parse_args() print('=' * 50) print('Called with args:') print(args) if args.data_dir: config.data_dir = args.data_dir config.set_paths() if args.model: config.model = args.model util.set_img_format() model_module = util.get_model_class_instance() model = model_module.load() classes_in_keras_format = util.get_classes_in_keras_format() predict(args.path) if args.execution_time: toc = time.clock() print('Time: %s' % (toc - tic))