def parse_args(): parser = argparse.ArgumentParser(description='Train Faster R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # training parser.add_argument('--frequent', help='frequency of logging', default=default.frequent, type=int) parser.add_argument('--kvstore', help='the kv-store type', default=default.kvstore, type=str) parser.add_argument('--work_load_list', help='work load for different devices', default=None, type=list) parser.add_argument('--no_flip', help='disable flip images', action='store_true') parser.add_argument('--no_shuffle', help='disable random shuffle', action='store_true') parser.add_argument('--resume', help='continue training', action='store_true') # e2e parser.add_argument('--gpus', help='GPU device to train with', default='0', type=str) parser.add_argument('--pretrained', help='pretrained model prefix', default=default.pretrained, type=str) parser.add_argument('--pretrained_epoch', help='pretrained model epoch', default=default.pretrained_epoch, type=int) parser.add_argument('--prefix', help='new model prefix', default=default.e2e_prefix, type=str) parser.add_argument('--begin_epoch', help='begin epoch of training, use with resume', default=0, type=int) parser.add_argument('--end_epoch', help='end epoch of training', default=default.e2e_epoch, type=int) parser.add_argument('--lr', help='base learning rate', default=default.e2e_lr, type=float) parser.add_argument('--lr_step', help='learning rate steps (in epoch)', default=default.e2e_lr_step, type=str) args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Train Faster R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # training parser.add_argument('--frequent', help='frequency of logging', default=default.frequent, type=int) parser.add_argument('--kvstore', help='the kv-store type', default=default.kvstore, type=str) parser.add_argument('--work_load_list', help='work load for different devices', default=None, type=list) parser.add_argument('--no_flip', help='disable flip images', action='store_true') parser.add_argument('--no_shuffle', help='disable random shuffle', action='store_true') parser.add_argument('--resume', help='continue training', action='store_true') # e2e parser.add_argument('--gpus', help='GPU device to train with', default='0', type=str) parser.add_argument('--pretrained', help='pretrained model prefix', default=default.pretrained, type=str) parser.add_argument('--pretrained_epoch', help='pretrained model epoch', default=default.pretrained_epoch, type=int) parser.add_argument('--prefix', help='new model prefix', default=default.e2e_prefix, type=str) parser.add_argument('--begin_epoch', help='begin epoch of training, use with resume', default=0, type=int) parser.add_argument('--end_epoch', help='end epoch of training', default=default.e2e_epoch, type=int) parser.add_argument('--lr', help='base learning rate', default=default.e2e_lr, type=float) parser.add_argument('--lr_step', help='learning rate steps (in epoch)', default=default.e2e_lr_step, type=str) # tricks parser.add_argument('--use_global_context', help='use roi global context for classification', action='store_true') parser.add_argument('--use_data_augmentation', help='randomly transform image in color, brightness, contrast, sharpness',\ action='store_true') parser.add_argument('--use_roi_align', help='replace ROIPooling with ROIAlign', action='store_true') args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Train Faster R-CNN Network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # training parser.add_argument('--frequent', help='frequency of logging', default=default.frequent, type=int) parser.add_argument('--kvstore', help='the kv-store type', default=default.kvstore, type=str) parser.add_argument('--work_load_list', help='work load for different devices', default=None, type=list) parser.add_argument('--no_flip', help='disable flip images', action='store_true') parser.add_argument('--no_shuffle', help='disable random shuffle', action='store_true') parser.add_argument('--resume', help='continue training', action='store_true') # alternate parser.add_argument('--gpus', help='GPU device to train with', default='0', type=str) parser.add_argument('--pretrained', help='pretrained model prefix', default=default.pretrained, type=str) parser.add_argument('--pretrained_epoch', help='pretrained model epoch', default=default.pretrained_epoch, type=int) parser.add_argument('--rpn_epoch', help='end epoch of rpn training', default=default.rpn_epoch, type=int) parser.add_argument('--rpn_lr', help='base learning rate', default=default.rpn_lr, type=float) parser.add_argument('--rpn_lr_step', help='learning rate steps (in epoch)', default=default.rpn_lr_step, type=str) parser.add_argument('--rcnn_epoch', help='end epoch of rcnn training', default=default.rcnn_epoch, type=int) parser.add_argument('--rcnn_lr', help='base learning rate', default=default.rcnn_lr, type=float) parser.add_argument('--rcnn_lr_step', help='learning rate steps (in epoch)', default=default.rcnn_lr_step, type=str) args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Train RetinaFace') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # training parser.add_argument('--frequent', help='frequency of logging', default=default.frequent, type=int) parser.add_argument('--kvstore', help='the kv-store type', default=default.kvstore, type=str) parser.add_argument('--work_load_list', help='work load for different devices', default=None, type=list) parser.add_argument('--no_flip', help='disable flip images', action='store_true') parser.add_argument('--no_shuffle', help='disable random shuffle', action='store_true') # e2e #parser.add_argument('--gpus', help='GPU device to train with', default='0,1,2,3', type=str) parser.add_argument('--pretrained', help='pretrained model prefix', default=default.pretrained, type=str) parser.add_argument('--pretrained_epoch', help='pretrained model epoch', default=default.pretrained_epoch, type=int) parser.add_argument('--prefix', help='new model prefix', default=default.prefix, type=str) parser.add_argument('--begin_epoch', help='begin epoch of training, use with resume', default=0, type=int) parser.add_argument('--end_epoch', help='end epoch of training', default=default.end_epoch, type=int) parser.add_argument('--lr', help='base learning rate', default=default.lr, type=float) parser.add_argument('--lr_step', help='learning rate steps (in epoch)', default=default.lr_step, type=str) parser.add_argument('--no_ohem', help='disable online hard mining', action='store_true') args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Train Faster R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) data_root = os.path.join(os.getcwd(),default.root_path) parser.add_argument('--root_path', help='output data folder', default=data_root, type=str) parser.add_argument('--subset',help='subset of dataset,only for refer dataset',default=default.subset,type=str) parser.add_argument('--split',help='split of dataset,only for refer dataset',default=default.split,type=str) # training parser.add_argument('--frequent', help='frequency of logging', default=default.frequent, type=int) parser.add_argument('--kvstore', help='the kv-store type', default=default.kvstore, type=str) parser.add_argument('--work_load_list', help='work load for different devices', default=None, type=list) parser.add_argument('--no_flip', help='disable flip images', action='store_true') parser.add_argument('--no_shuffle', help='disable random shuffle', action='store_true') parser.add_argument('--resume', help='continue training', default=False,type=bool) # e2e parser.add_argument('--gpus', help='GPU device to train with', default='0', type=str) parser.add_argument('--pretrained', help='pretrained model prefix', default=default.pretrained, type=str) parser.add_argument('--pretrained_epoch', help='pretrained model epoch', default=default.pretrained_epoch, type=int) parser.add_argument('--prefix', help='new model prefix', default=default.e2e_prefix, type=str) parser.add_argument('--begin_epoch', help='begin epoch of training, use with resume', default=0, type=int) parser.add_argument('--end_epoch', help='end epoch of training', default=default.e2e_epoch, type=int) parser.add_argument('--lr', help='base learning rate', default=default.e2e_lr, type=float) parser.add_argument('--lr_step', help='learning rate steps (in epoch)', default=default.e2e_lr_step, type=str) args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Test a Fast R-CNN network') # general parser.add_argument('--network', help='network name', default='resnet_fpn', type=str) parser.add_argument('--dataset', help='dataset name', default='Cityscape', type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.test_image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) parser.add_argument('--result_path', help='result path', default='data/cityscape/results/', type=str) # testing parser.add_argument('--prefix', help='model to test with', default='model/final', type=str) parser.add_argument('--epoch', help='model to test with', default=0, type=int) parser.add_argument('--gpu', help='GPU device to test with', default=0, type=int) # rcnn parser.add_argument('--vis', help='turn on visualization', default=True) parser.add_argument('--thresh', help='valid detection threshold', default=1e-3, type=float) parser.add_argument('--shuffle', help='shuffle data on visualization', default=False) parser.add_argument('--has_rpn', help='generate proposals on the fly', default=True) parser.add_argument('--proposal', help='can be ss for selective search or rpn', default='rpn', type=str) args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Train Faster R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # training parser.add_argument('--frequent', help='frequency of logging', default=default.frequent, type=int) parser.add_argument('--kvstore', help='the kv-store type', default=default.kvstore, type=str) parser.add_argument('--work_load_list', help='work load for different devices', default=None, type=list) parser.add_argument('--no_flip', help='disable flip images', action='store_true') parser.add_argument('--no_shuffle', help='disable random shuffle', action='store_true') parser.add_argument('--resume', help='continue training', action='store_true') # e2e parser.add_argument('--gpus', help='GPU device to train with', default='0', type=str) parser.add_argument('--pretrained', help='pretrained model prefix', default=default.pretrained, type=str) parser.add_argument('--pretrained_epoch', help='pretrained model epoch', default=default.pretrained_epoch, type=int) parser.add_argument('--prefix', help='new model prefix', default=default.e2e_prefix, type=str) parser.add_argument('--begin_epoch', help='begin epoch of training, use with resume', default=0, type=int) parser.add_argument('--end_epoch', help='end epoch of training', default=default.e2e_epoch, type=int) parser.add_argument('--lr', help='base learning rate', default=default.e2e_lr, type=float) parser.add_argument('--lr_step', help='learning rate steps (in epoch)', default=default.e2e_lr_step, type=str) # <EcoSys> nvprof parser.add_argument('--nvprof-on', help='turn on the nvprof profiler by setting True', default=False, type=bool) parser.add_argument('--nvprof-start-batch', type=int, default=1000, help='the batch number where nvprof begins') parser.add_argument('--nvprof-start-epoch', type=int, default=0, help='the epoch number where nvprof begins') parser.add_argument('--nvprof-stop-batch', type=int, default=1050, help='the batch number where nvprof ends') parser.add_argument('--nvprof-stop-epoch', type=int, default=0, help='the epoch number where nvprof ends') # </EcoSys> args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Demonstrate a Faster R-CNN network') parser.add_argument('--network', help='network name', default=default.network, type=str) args, rest = parser.parse_known_args() generate_config(args.network, None) parser.add_argument('--image', help='custom image', type=str) parser.add_argument('--prefix', help='saved model prefix', type=str) parser.add_argument('--epoch', help='epoch of pretrained model', type=int) parser.add_argument('--gpu', help='GPU device to use', default=1, type=int) parser.add_argument('--vis', help='display result', action='store_true') args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser( description='Test a Region Proposal Network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.test_image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # testing parser.add_argument('--prefix', help='model to test with', default=default.rpn_prefix, type=str) parser.add_argument('--epoch', help='model to test with', default=default.rpn_epoch, type=int) # rpn parser.add_argument('--gpu', help='GPU device to test with', default='0', type=str) parser.add_argument('--vis', help='turn on visualization', action='store_true') parser.add_argument('--thresh', help='rpn proposal threshold', default=0, type=float) parser.add_argument('--shuffle', help='shuffle data on visualization', action='store_true') args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser( description='Demonstrate a Faster R-CNN network') parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.test_image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) parser.add_argument('--prefix', help='saved model prefix', type=str) parser.add_argument('--epoch', help='epoch of pretrained model', type=int) parser.add_argument('--gpu', help='GPU device to use', default=0, type=int) parser.add_argument('--vis', help='display result', action='store_true') parser.add_argument('--vis_image_dir', help='if vis, image results are saved in this folder', default='data/vis', type=str) parser.add_argument('--use_global_context', help='use roi global context for classification', action='store_true') parser.add_argument('--use_roi_align', help='replace ROIPooling with ROIAlign', action='store_true') parser.add_argument('--use_box_voting', help='use box voting in test', action='store_true') args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Test a Fast R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) # testing parser.add_argument('--prefix', help='model to test with', default=default.rcnn_prefix, type=str) parser.add_argument('--epoch', help='model to test with', default=0, type=int) parser.add_argument('--gpu', help='GPU device to test with', default=0, type=int) parser.add_argument('--name', help='test name', default='submit', type=str) # rcnn parser.add_argument('--vis', help='turn on visualization', action='store_true') parser.add_argument('--thresh', help='valid detection threshold', default=0.3, type=float) parser.add_argument('--scale', help='test image size', default='960', type=str) args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Test a Faster R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.test_image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # testing parser.add_argument('--prefix', help='model to test with', default=default.e2e_prefix, type=str) parser.add_argument('--epoch', help='model to test with', default=default.e2e_epoch, type=int) parser.add_argument('--gpu', help='GPU device to test with', default=0, type=int) # rcnn parser.add_argument('--vis', help='turn on visualization', action='store_true') parser.add_argument('--thresh', help='valid detection threshold', default=1e-3, type=float) parser.add_argument('--shuffle', help='shuffle data on visualization', action='store_true') parser.add_argument('--has_rpn', help='generate proposals on the fly', action='store_true', default=True) parser.add_argument('--proposal', help='can be ss for selective search or rpn', default='rpn', type=str) args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Test a Faster R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) args, rest = parser.parse_known_args() data_root = os.path.join(os.getcwd(), default.root_path) parser.add_argument('--root_path', help='output data folder', default=data_root, type=str) parser.add_argument('--subset', help='subset of dataset,only for refer dataset', default=default.subset, type=str) parser.add_argument('--split', help='split of dataset,only for refer dataset', default=default.split, type=str) # testing parser.add_argument('--prefix', help='model to test with', default=default.e2e_prefix, type=str) parser.add_argument('--epoch', help='model to test with', default=default.e2e_epoch, type=int) parser.add_argument('--gpu', help='GPU device to test with', default=0, type=int) # rcnn parser.add_argument('--vis', help='turn on visualization', action='store_true') parser.add_argument('--thresh', help='valid detection threshold', default=1e-1, type=float) parser.add_argument('--shuffle', help='shuffle data on visualization', action='store_true') parser.add_argument('--has_rpn', help='generate proposals on the fly', action='store_true', default=True) parser.add_argument('--proposal', help='can be ss for selective search or rpn', default='rpn', type=str) args = parser.parse_args() return args
def parse_args(): parser = argparse.ArgumentParser(description='Test a Faster R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.test_image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # testing parser.add_argument('--prefix', help='model to test with', default=default.e2e_prefix, type=str) parser.add_argument('--epoch', help='model to test with', default=0, type=int) parser.add_argument('--gpu', help='GPU device to test with', default=7, type=int) parser.add_argument('--output', help='output folder', default=os.path.join(default.root_path, 'output'), type=str) parser.add_argument('--pyramid', help='enable pyramid test', action='store_true') # rcnn parser.add_argument('--vis', help='turn on visualization', action='store_true') parser.add_argument('--thresh', help='valid detection threshold', default=0.05, type=float) parser.add_argument('--shuffle', help='shuffle data on visualization', action='store_true') parser.add_argument('--has_rpn', help='generate proposals on the fly', action='store_true', default=True) parser.add_argument('--proposal', help='can be ss for selective search or rpn', default='rpn', type=str) args = parser.parse_args() return args
from rcnn.processing.nms import py_nms_wrapper, cpu_nms_wrapper, gpu_nms_wrapper from tqdm import tqdm import cPickle import copy os.environ['MXNET_BACKWARD_DO_MIRROR'] = '1' os.environ['MXNET_CUDNN_AUTOTUNE_DEFAULT'] = '0' epoch = 4 thresh = 0.05 symbol = "model/vgg" network = "vgg" dataset = "noaa_lions" generate_config(network, dataset) with open("/home/aakuzin/dataset/noaa_sealines/Val.txt") as f: val = map( lambda x: os.path.join(default.dataset_path, "images", x.strip()), f.readlines()) ims = [cv2.imread(i) for i in val[:]] def predict(): name = "{}/cache/{}_general_val_detections_val_{}.pkl".format( default.dataset_path, network, epoch) if os.path.exists(name): with open(name, 'rb') as fid: all_boxes = cPickle.load(fid) else: all_boxes = test_predict(network,
def parse_args(): parser = argparse.ArgumentParser(description='Test a Faster R-CNN network') # general parser.add_argument('--network', help='network name', default=default.network, type=str) parser.add_argument('--dataset', help='dataset name', default=default.dataset, type=str) args, rest = parser.parse_known_args() generate_config(args.network, args.dataset) parser.add_argument('--image_set', help='image_set name', default=default.test_image_set, type=str) parser.add_argument('--root_path', help='output data folder', default=default.root_path, type=str) parser.add_argument('--dataset_path', help='dataset path', default=default.dataset_path, type=str) # testing parser.add_argument('--prefix', help='model to test with', default=default.e2e_prefix, type=str) parser.add_argument('--epoch', help='model to test with', default=default.e2e_epoch, type=int) parser.add_argument('--gpu', help='GPU device to test with', default=0, type=int) # rcnn parser.add_argument('--vis', help='turn on visualization', action='store_true') parser.add_argument('--thresh', help='valid detection threshold', default=1e-3, type=float) parser.add_argument('--shuffle', help='shuffle data on visualization', action='store_true') parser.add_argument('--has_rpn', help='generate proposals on the fly', action='store_true', default=True) parser.add_argument('--proposal', help='can be ss for selective search or rpn', default='rpn', type=str) # tricks parser.add_argument('--use_global_context', help='use roi global context for classification', action='store_true') parser.add_argument('--use_roi_align', help='replace ROIPooling with ROIAlign', action='store_true') parser.add_argument('--use_box_voting', help='use box voting in test', action='store_true') # analysis parser.add_argument( '--detailed_analysis', help= 'give detailed analysis result, e.g. APs in different scale ranges', action='store_true') args = parser.parse_args() return args