args = parse_args() print('Called with args:') print(args) if args.cfg_file is not None: cfg_from_file(args.cfg_file) print('Using config:') pprint.pprint(cfg) if not args.randomize: np.random.seed(cfg.RNG_SEED) imdb, roidb = get_roidb(args.imdb_name) numAnnos = imdb.roidb_num_bboxes_at(-1) print("\n\n-=-=-=-=-=-=-=-=-\n\n") print("Report:\n\n") print("number of classes: {}".format(imdb.num_classes)) print("number of images: {}".format(len(roidb))) print("number of annotations: {}".format(numAnnos)) print("size of imdb in memory: {}kB".format(sys.getsizeof(imdb)/1024.)) print("size of roidb in memory: {}kB".format(len(roidb) * sys.getsizeof(roidb[0])/1024.)) print("example roidb:") for k,v in roidb[0].items(): print("\t==> {},{}".format(k,type(v))) print("\t\t{}".format(v)) print("computing bbox info...") areas, widths, heights = get_bbox_info(roidb,numAnnos)
cfg.GPU_ID = args.gpu_id print('Using config:') pprint.pprint(cfg) if not args.randomize: # fix the random seeds (numpy and caffe) for reproducibility np.random.seed(cfg.RNG_SEED) caffe.set_random_seed(cfg.RNG_SEED) # set up caffe caffe.set_mode_gpu() caffe.set_device(args.gpu_id) imdb, roidb = get_roidb(args.imdb_name) print '{:d} roidb entries'.format(len(roidb)) print("num_classes", imdb.num_classes) print(imdb.roidb_num_bboxes_at(-1)) print(roidb[0]) sys.exit() output_dir = get_output_dir(imdb) print 'Output will be saved to `{:s}`'.format(output_dir) train_net(args.solver, roidb, output_dir, pretrained_model=args.pretrained_model, max_iters=args.max_iters)