def evaluate(self, category, train=True): print "Evaluting discriminator pipeline for category", category evaluated_train = Evaluator("sigmoid_normal3", "ade20k") evaluated_val = Evaluator("sigmoid_normal3", "ade20k_val") im_list_train = evaluated_train.get_im_list_by_category(category) im_list_val = evaluated_val.get_im_list_by_category(category) print "Train instances:", len(im_list_train) print "Val instances:", len(im_list_val) if train: print "Training..." self.train(category, im_list_train) print "Training Done" else: print "Skipping training" print "Running on validation data" output_fn = "{}-ade20k_val.txt".format(category) fn_val = self.run(category, im_list_val, output_fn=output_fn) plot.plot(fn_val, evaluated_val, category, "ade20k_val") print "Running on training data" output_fn = "{}-ade20k.txt".format(category) fn_train = self.run(category, im_list_train, output_fn=output_fn) plot.plot(fn_train, evaluated_train, category, "ade20k") plot.vis(fn_val, evaluated_val, category, "ade20k_val", self.datasource_val)
config = utils.get_config(args.project) if args.prediction is not None: config["pspnet_prediction"] = args.prediction datasource = DataSource(config) evaluator = Evaluator(args.name, args.project, datasource) # Evaluation results vis = ProjectVisualizer(args.project, datasource, MAX=args.number, evaluator=evaluator) # Image List im_list = None if args.im_list: # Open specific image list im_list = utils.open_im_list(args.im_list) elif args.category: im_list = evaluator.get_im_list_by_category(args.category) else: # Open default image list im_list = utils.open_im_list(config["im_list"]) if args.randomize: # Shuffle image list random.seed(3) random.shuffle(im_list) im_list = im_list[args.start:] vis.visualize_images(im_list, category=args.category)