Python torch.backends.cudnn.benchmark() Examples
The following are 30
code examples of torch.backends.cudnn.benchmark().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
torch.backends.cudnn
, or try the search function
.
Example #1
Source File: cu_net_prev_version_wig.py From CU-Net with Apache License 2.0 | 6 votes |
def backward(self, weight, bias, input, grad_output): grad_input = input.new() grad_input.resize_as_(input) torch._C._cudnn_convolution_backward_data( grad_output, grad_input, weight, self._cudnn_info, cudnn.benchmark) grad_weight = weight.new().resize_as_(weight) torch._C._cudnn_convolution_backward_filter(grad_output, input, grad_weight, self._cudnn_info, cudnn.benchmark) if bias is not None: grad_bias = bias.new().resize_as_(bias) torch._C._cudnn_convolution_backward_bias(grad_output, grad_bias, self._cudnn_info) else: grad_bias = None return grad_weight, grad_bias, grad_input
Example #2
Source File: spatial_cnn.py From deep-smoke-machine with BSD 3-Clause "New" or "Revised" License | 6 votes |
def run(self): self.build_model() self.resume_and_evaluate() cudnn.benchmark = True for self.epoch in range(self.start_epoch, self.nb_epochs): self.train_1epoch() prec1, val_loss = self.validate_1epoch() is_best = prec1 > self.best_prec1 #lr_scheduler self.scheduler.step(val_loss) # save model if is_best: self.best_prec1 = prec1 with open('record/spatial/spatial_video_preds.pickle','wb') as f: pickle.dump(self.dic_video_level_preds,f) f.close() save_checkpoint({ 'epoch': self.epoch, 'state_dict': self.model.state_dict(), 'best_prec1': self.best_prec1, 'optimizer' : self.optimizer.state_dict() },is_best,'record/spatial/checkpoint.pth.tar','record/spatial/model_best.pth.tar')
Example #3
Source File: main.py From hidden-networks with Apache License 2.0 | 6 votes |
def set_gpu(args, model): assert torch.cuda.is_available(), "CPU-only experiments currently unsupported" if args.gpu is not None: torch.cuda.set_device(args.gpu) model = model.cuda(args.gpu) elif args.multigpu is None: device = torch.device("cpu") else: # DataParallel will divide and allocate batch_size to all available GPUs print(f"=> Parallelizing on {args.multigpu} gpus") torch.cuda.set_device(args.multigpu[0]) args.gpu = args.multigpu[0] model = torch.nn.DataParallel(model, device_ids=args.multigpu).cuda( args.multigpu[0] ) cudnn.benchmark = True return model
Example #4
Source File: evaluators.py From Dispersion-based-Clustering with MIT License | 6 votes |
def extract_features(model, data_loader, print_freq=1, metric=None): cudnn.benchmark = False model.eval() batch_time = AverageMeter() data_time = AverageMeter() features = OrderedDict() labels = OrderedDict() fcs = OrderedDict() print("Begin to extract features...") for i, (imgs, fnames, pids, _, _) in enumerate(data_loader): _fcs, pool5s = extract_cnn_feature(model, imgs) for fname, fc, pool5, pid in zip(fnames, _fcs, pool5s, pids): features[fname] = pool5 fcs[fname] = fc labels[fname] = pid cudnn.benchmark = True return features, labels, fcs # 2048 pool5 feature, labels, 1024 fc layers
Example #5
Source File: test.py From CSD-SSD with MIT License | 6 votes |
def test_voc(): # load net num_classes = len(VOC_CLASSES) + 1 # +1 background net = build_ssd('test', 300, num_classes) # initialize SSD net.load_state_dict(torch.load(args.trained_model)) net.eval() print('Finished loading model!') # load data testset = VOCDetection(args.voc_root, [('2007', 'test')], None, VOCAnnotationTransform()) if args.cuda: net = net.cuda() cudnn.benchmark = True # evaluation test_net(args.save_folder, net, args.cuda, testset, BaseTransform(net.size, (104, 117, 123)), thresh=args.visual_threshold)
Example #6
Source File: inference.py From TVQAplus with MIT License | 6 votes |
def main_inference(): print("Loading config...") opt = TestOptions().parse() print("Loading dataset...") dset = TVQADataset(opt, mode=opt.mode) print("Loading model...") model = STAGE(opt) model.to(opt.device) cudnn.benchmark = True strict_mode = not opt.no_strict model_path = os.path.join("results", opt.model_dir, "best_valid.pth") model.load_state_dict(torch.load(model_path), strict=strict_mode) model.eval() model.inference_mode = True torch.set_grad_enabled(False) print("Evaluation Starts:\n") predictions = inference(opt, dset, model) print("predictions {}".format(predictions.keys())) pred_path = model_path.replace("best_valid.pth", "{}_inference_predictions.json".format(opt.mode)) save_json(predictions, pred_path)
Example #7
Source File: test.py From SlowFast-Network-pytorch with MIT License | 6 votes |
def main(): cudnn.benchmark = False test_video=Test_video(short_side=[224,256]) model = slowfastnet.resnet50(class_num=Config.CLASS_NUM) assert Config.LOAD_MODEL_PATH is not None print("load model from:", Config.LOAD_MODEL_PATH) pretrained_dict = torch.load(Config.LOAD_MODEL_PATH, map_location='cpu') try: model_dict = model.module.state_dict() except AttributeError: model_dict = model.state_dict() pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict} model_dict.update(pretrained_dict) model.load_state_dict(model_dict) model = model.cuda(params['gpu'][0]) validation(model, test_video)
Example #8
Source File: trainer.py From StackGAN-Pytorch with MIT License | 6 votes |
def __init__(self, output_dir): if cfg.TRAIN.FLAG: self.model_dir = os.path.join(output_dir, 'Model') self.image_dir = os.path.join(output_dir, 'Image') self.log_dir = os.path.join(output_dir, 'Log') mkdir_p(self.model_dir) mkdir_p(self.image_dir) mkdir_p(self.log_dir) self.summary_writer = FileWriter(self.log_dir) self.max_epoch = cfg.TRAIN.MAX_EPOCH self.snapshot_interval = cfg.TRAIN.SNAPSHOT_INTERVAL s_gpus = cfg.GPU_ID.split(',') self.gpus = [int(ix) for ix in s_gpus] self.num_gpus = len(self.gpus) self.batch_size = cfg.TRAIN.BATCH_SIZE * self.num_gpus torch.cuda.set_device(self.gpus[0]) cudnn.benchmark = True # ############# For training stageI GAN #############
Example #9
Source File: single_stage_model.py From conditional-motion-propagation with MIT License | 6 votes |
def __init__(self, params, dist_model=False): model_params = params['module'] self.model = models.modules.__dict__[params['module']['arch']](model_params) utils.init_weights(self.model, init_type='xavier') self.model.cuda() if dist_model: self.model = utils.DistModule(self.model) self.world_size = dist.get_world_size() else: self.model = models.modules.FixModule(self.model) self.world_size = 1 if params['optim'] == 'SGD': self.optim = torch.optim.SGD( self.model.parameters(), lr=params['lr'], momentum=0.9, weight_decay=0.0001) elif params['optim'] == 'Adam': self.optim = torch.optim.Adam( self.model.parameters(), lr=params['lr'], betas=(params['beta1'], 0.999)) else: raise Exception("No such optimizer: {}".format(params['optim'])) cudnn.benchmark = True
Example #10
Source File: demo.py From TextSnake.pytorch with MIT License | 6 votes |
def main(): testset = DeployDataset( image_root=cfg.img_root, transform=BaseTransform(size=cfg.input_size, mean=cfg.means, std=cfg.stds) ) test_loader = data.DataLoader(testset, batch_size=1, shuffle=False, num_workers=cfg.num_workers) # Model model = TextNet(is_training=False, backbone=cfg.net) model_path = os.path.join(cfg.save_dir, cfg.exp_name, \ 'textsnake_{}_{}.pth'.format(model.backbone_name, cfg.checkepoch)) model.load_model(model_path) # copy to cuda model = model.to(cfg.device) if cfg.cuda: cudnn.benchmark = True detector = TextDetector(model, tr_thresh=cfg.tr_thresh, tcl_thresh=cfg.tcl_thresh) print('Start testing TextSnake.') output_dir = os.path.join(cfg.output_dir, cfg.exp_name) inference(detector, test_loader, output_dir)
Example #11
Source File: option.py From TextSnake.pytorch with MIT License | 6 votes |
def initialize(self, fixed=None): # Parse options self.args = self.parse(fixed) # Setting default torch Tensor type if self.args.cuda and torch.cuda.is_available(): torch.set_default_tensor_type('torch.cuda.FloatTensor') cudnn.benchmark = True else: torch.set_default_tensor_type('torch.FloatTensor') # Create weights saving directory if not os.path.exists(self.args.save_dir): os.mkdir(self.args.save_dir) # Create weights saving directory of target model model_save_path = os.path.join(self.args.save_dir, self.args.exp_name) if not os.path.exists(model_save_path): os.mkdir(model_save_path) return self.args
Example #12
Source File: test.py From BeautyGAN_pytorch with MIT License | 6 votes |
def tes_net(): # enable cudnn cudnn.benchmark = True # get the DataLoader data_loaders = get_loader(dataset_config, config, mode="test") #get the solver if args.model == 'cycleGAN': solver = Solver_cycleGAN(data_loaders, config, dataset_config) elif args.model =='makeupGAN': solver = Solver_makeupGAN(data_loaders, config, dataset_config) else: print("model that not support") exit() solver.test()
Example #13
Source File: main.py From mnist-svhn-transfer with MIT License | 6 votes |
def main(config): svhn_loader, mnist_loader = get_loader(config) solver = Solver(config, svhn_loader, mnist_loader) cudnn.benchmark = True # create directories if not exist if not os.path.exists(config.model_path): os.makedirs(config.model_path) if not os.path.exists(config.sample_path): os.makedirs(config.sample_path) if config.mode == 'train': solver.train() elif config.mode == 'sample': solver.sample()
Example #14
Source File: __init__.py From unsupervised-data-augmentation with Apache License 2.0 | 6 votes |
def get_model(conf, num_class=10, data_parallel=True): name = conf['type'] if name == 'wresnet40_2': model = WideResNet(40, 2, dropout_rate=0.0, num_classes=num_class) elif name == 'wresnet28_2': model = WideResNet(28, 2, dropout_rate=0.0, num_classes=num_class) elif name == 'wresnet28_10': model = WideResNet(28, 10, dropout_rate=0.0, num_classes=num_class) else: raise NameError('no model named, %s' % name) if data_parallel: model = model.cuda() model = DataParallel(model) else: import horovod.torch as hvd device = torch.device('cuda', hvd.local_rank()) model = model.to(device) cudnn.benchmark = True return model
Example #15
Source File: trainer.py From openseg.pytorch with MIT License | 6 votes |
def train(self): # cudnn.benchmark = True # self.__val() if self.configer.get('network', 'resume') is not None: if self.configer.get('network', 'resume_val'): self.__val(data_loader=self.data_loader.get_valloader(dataset='val')) return elif self.configer.get('network', 'resume_train'): self.__val(data_loader=self.data_loader.get_valloader(dataset='train')) return # return if self.configer.get('network', 'resume') is not None and self.configer.get('network', 'resume_val'): self.__val(data_loader=self.data_loader.get_valloader(dataset='val')) return while self.configer.get('iters') < self.configer.get('solver', 'max_iters'): self.__train() # use swa to average the model if 'swa' in self.configer.get('lr', 'lr_policy'): self.optimizer.swap_swa_sgd() self.optimizer.bn_update(self.train_loader, self.seg_net) self.__val(data_loader=self.data_loader.get_valloader(dataset='val'))
Example #16
Source File: cu_net_prev_version_wig.py From CU-Net with Apache License 2.0 | 6 votes |
def forward(self, weight, bias, input): # Assert we're using cudnn for i in ([weight, bias, input]): if i is not None and not(cudnn.is_acceptable(i)): raise Exception('You must be using CUDNN to use _EfficientBatchNorm') res = input.new(*self._output_size(input, weight)) self._cudnn_info = torch._C._cudnn_convolution_full_forward( input, weight, bias, res, (self.padding, self.padding), (self.stride, self.stride), (self.dilation, self.dilation), self.groups, cudnn.benchmark ) return res
Example #17
Source File: cu_net_prev_version.py From CU-Net with Apache License 2.0 | 6 votes |
def backward(self, weight, bias, input, grad_output): grad_input = input.new() grad_input.resize_as_(input) torch._C._cudnn_convolution_backward_data( grad_output, grad_input, weight, self._cudnn_info, cudnn.benchmark) grad_weight = weight.new().resize_as_(weight) torch._C._cudnn_convolution_backward_filter(grad_output, input, grad_weight, self._cudnn_info, cudnn.benchmark) if bias is not None: grad_bias = bias.new().resize_as_(bias) torch._C._cudnn_convolution_backward_bias(grad_output, grad_bias, self._cudnn_info) else: grad_bias = None return grad_weight, grad_bias, grad_input
Example #18
Source File: cu_net_prev_version.py From CU-Net with Apache License 2.0 | 6 votes |
def forward(self, weight, bias, input): # Assert we're using cudnn for i in ([weight, bias, input]): if i is not None and not(cudnn.is_acceptable(i)): raise Exception('You must be using CUDNN to use _EfficientBatchNorm') res = input.new(*self._output_size(input, weight)) self._cudnn_info = torch._C._cudnn_convolution_full_forward( input, weight, bias, res, (self.padding, self.padding), (self.stride, self.stride), (self.dilation, self.dilation), self.groups, cudnn.benchmark ) return res
Example #19
Source File: trainer.py From multiple-objects-gan with MIT License | 6 votes |
def __init__(self, output_dir): if cfg.TRAIN.FLAG: self.model_dir = os.path.join(output_dir, 'Model') self.image_dir = os.path.join(output_dir, 'Image') self.log_dir = os.path.join(output_dir, 'Log') mkdir_p(self.model_dir) mkdir_p(self.image_dir) mkdir_p(self.log_dir) self.summary_writer = FileWriter(self.log_dir) self.max_epoch = cfg.TRAIN.MAX_EPOCH self.snapshot_interval = cfg.TRAIN.SNAPSHOT_INTERVAL s_gpus = cfg.GPU_ID.split(',') self.gpus = [int(ix) for ix in s_gpus] self.num_gpus = len(self.gpus) self.batch_size = cfg.TRAIN.BATCH_SIZE torch.cuda.set_device(self.gpus[0]) cudnn.benchmark = True # ############# For training stageI GAN #############
Example #20
Source File: trainer.py From multiple-objects-gan with MIT License | 6 votes |
def __init__(self, output_dir, data_loader, n_words, ixtoword, resume): if cfg.TRAIN.FLAG: self.model_dir = os.path.join(output_dir, 'Model') self.image_dir = os.path.join(output_dir, 'Image') mkdir_p(self.model_dir) mkdir_p(self.image_dir) self.batch_size = cfg.TRAIN.BATCH_SIZE self.max_epoch = cfg.TRAIN.MAX_EPOCH self.snapshot_interval = cfg.TRAIN.SNAPSHOT_INTERVAL self.resume = resume s_gpus = cfg.GPU_ID.split(',') self.gpus = [int(ix) for ix in s_gpus] self.n_words = n_words self.ixtoword = ixtoword self.data_loader = data_loader self.num_batches = len(self.data_loader) torch.cuda.set_device(self.gpus[0]) cudnn.benchmark = True
Example #21
Source File: trainer.py From multiple-objects-gan with MIT License | 6 votes |
def __init__(self, output_dir): if cfg.TRAIN.FLAG: self.model_dir = os.path.join(output_dir, 'Model') self.image_dir = os.path.join(output_dir, 'Image') self.log_dir = os.path.join(output_dir, 'Log') mkdir_p(self.model_dir) mkdir_p(self.image_dir) mkdir_p(self.log_dir) self.summary_writer = FileWriter(self.log_dir) self.max_epoch = cfg.TRAIN.MAX_EPOCH self.snapshot_interval = cfg.TRAIN.SNAPSHOT_INTERVAL self.max_objects = 3 s_gpus = cfg.GPU_ID.split(',') self.gpus = [int(ix) for ix in s_gpus] self.num_gpus = len(self.gpus) self.batch_size = cfg.TRAIN.BATCH_SIZE torch.cuda.set_device(self.gpus[0]) cudnn.benchmark = True # ############# For training stageI GAN #############
Example #22
Source File: trainer.py From multiple-objects-gan with MIT License | 6 votes |
def __init__(self, output_dir): if cfg.TRAIN.FLAG: self.model_dir = os.path.join(output_dir, 'Model') self.image_dir = os.path.join(output_dir, 'Image') self.log_dir = os.path.join(output_dir, 'Log') mkdir_p(self.model_dir) mkdir_p(self.image_dir) mkdir_p(self.log_dir) self.summary_writer = FileWriter(self.log_dir) self.max_epoch = cfg.TRAIN.MAX_EPOCH self.snapshot_interval = cfg.TRAIN.SNAPSHOT_INTERVAL self.max_objects = 4 s_gpus = cfg.GPU_ID.split(',') self.gpus = [int(ix) for ix in s_gpus] self.num_gpus = len(self.gpus) self.batch_size = cfg.TRAIN.BATCH_SIZE torch.cuda.set_device(self.gpus[0]) cudnn.benchmark = True # ############# For training stageI GAN #############
Example #23
Source File: attack.py From one-pixel-attack-pytorch with MIT License | 6 votes |
def main(): print "==> Loading data and model..." tranfrom_test = transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)), ]) test_set = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=tranfrom_test) testloader = torch.utils.data.DataLoader(test_set, batch_size=1, shuffle=True, num_workers=2) class_names = ['plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'] assert os.path.isdir('checkpoint'), 'Error: no checkpoint directory found!' checkpoint = torch.load('./checkpoint/%s.t7'%args.model) net = checkpoint['net'] net.cuda() cudnn.benchmark = True print "==> Starting attck..." results = attack_all(net, testloader, pixels=args.pixels, targeted=args.targeted, maxiter=args.maxiter, popsize=args.popsize, verbose=args.verbose) print "Final success rate: %.4f"%results
Example #24
Source File: base_trainer.py From fastMRI with MIT License | 6 votes |
def initial_setup(self, args): ############ logging.info(f"run pid: {os.getpid()} parent: {os.getppid()}") logging.info("#########") logging.info(args.__dict__) logging.info(f"Rank: {args.rank} World_size: {args.world_size}, Run {args.run_name}") args.cuda = torch.cuda.is_available() logging.info(f"Pytorch version: {torch.__version__}") logging.info("Using CUDA: {} CUDA AVAIL: {} #DEVICES: {} VERSION: {}".format( args.cuda, torch.cuda.is_available(), torch.cuda.device_count(), torch.version.cuda)) if not args.cuda: self.device = 'cpu' else: self.device = 'cuda' cudnn.benchmark = True cudnn.enabled = True random.seed(args.seed) # The seed needs to be constant between processes. torch.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed)
Example #25
Source File: trainer.py From DM-GAN with MIT License | 6 votes |
def __init__(self, output_dir, data_loader, n_words, ixtoword, dataset): if cfg.TRAIN.FLAG: self.model_dir = os.path.join(output_dir, 'Model') self.image_dir = os.path.join(output_dir, 'Image') mkdir_p(self.model_dir) mkdir_p(self.image_dir) #torch.cuda.set_device(cfg.GPU_ID) #cudnn.benchmark = True self.batch_size = cfg.TRAIN.BATCH_SIZE self.max_epoch = cfg.TRAIN.MAX_EPOCH self.snapshot_interval = cfg.TRAIN.SNAPSHOT_INTERVAL self.n_words = n_words self.ixtoword = ixtoword self.data_loader = data_loader self.dataset = dataset self.num_batches = len(self.data_loader)
Example #26
Source File: test_model.py From awesome-semantic-segmentation-pytorch with Apache License 2.0 | 5 votes |
def parse_args(): parser = argparse.ArgumentParser(description='Semantic Segmentation Overfitting Test') # model parser.add_argument('--model', type=str, default='ocnet', choices=['fcn32s/fcn16s/fcn8s/fcn/psp/deeplabv3/danet/denseaspp/bisenet/encnet/dunet/icnet/enet/ocnet'], help='model name (default: fcn32s)') parser.add_argument('--backbone', type=str, default='resnet50', choices=['vgg16/resnet18/resnet50/resnet101/resnet152/densenet121/161/169/201'], help='backbone name (default: vgg16)') parser.add_argument('--dataset', type=str, default='pascal_voc', choices=['pascal_voc/pascal_aug/ade20k/citys/sbu'], help='dataset name (default: pascal_voc)') parser.add_argument('--epochs', type=int, default=100, metavar='N', help='number of epochs to train (default: 60)') parser.add_argument('--lr', type=float, default=1e-3, metavar='LR', help='learning rate (default: 1e-3)') parser.add_argument('--momentum', type=float, default=0.9, metavar='M', help='momentum (default: 0.9)') parser.add_argument('--weight-decay', type=float, default=1e-4, metavar='M', help='w-decay (default: 5e-4)') args = parser.parse_args() device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") cudnn.benchmark = True args.device = device print(args) return args
Example #27
Source File: aux_model.py From self-supervised-da with MIT License | 5 votes |
def __init__(self, args, logger): self.args = args self.logger = logger self.writer = SummaryWriter(args.log_dir) cudnn.enabled = True # set up model self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu") self.model = get_aux_net(args.network.arch)(aux_classes=args.aux_classes + 1, classes=args.n_classes) self.model = self.model.to(self.device) if args.mode == 'train': # set up optimizer, lr scheduler and loss functions optimizer = get_optimizer(self.args.training.optimizer) optimizer_params = {k: v for k, v in self.args.training.optimizer.items() if k != "name"} self.optimizer = optimizer(self.model.parameters(), **optimizer_params) self.scheduler = get_scheduler(self.optimizer, self.args.training.lr_scheduler) self.class_loss_func = nn.CrossEntropyLoss() self.start_iter = 0 # resume if args.training.resume: self.load(args.model_dir + '/' + args.training.resume) cudnn.benchmark = True elif args.mode == 'val': self.load(os.path.join(args.model_dir, args.validation.model)) else: self.load(os.path.join(args.model_dir, args.testing.model))
Example #28
Source File: utils.py From pytorch-atda with MIT License | 5 votes |
def enable_cudnn_benchmark(): """Turn on the cudnn autotuner that selects efficient algorithms.""" if torch.cuda.is_available(): cudnn.benchmark = True
Example #29
Source File: train.py From BeautyGAN_pytorch with MIT License | 5 votes |
def train_net(): # enable cudnn cudnn.benchmark = True data_loaders = get_loader(dataset_config, config, mode="train") # return train&test #get the solver if args.model == 'cycleGAN': solver = Solver_cycleGAN(data_loaders, config, dataset_config) elif args.model =='makeupGAN': solver = Solver_makeupGAN(data_loaders, config, dataset_config) else: print("model that not support") exit() solver.train()
Example #30
Source File: eval_textsnake.py From TextSnake.pytorch with MIT License | 5 votes |
def main(): testset = TotalText( data_root='data/total-text', ignore_list=None, is_training=False, transform=BaseTransform(size=cfg.input_size, mean=cfg.means, std=cfg.stds) ) test_loader = data.DataLoader(testset, batch_size=1, shuffle=False, num_workers=cfg.num_workers) # Model model = TextNet(is_training=False, backbone=cfg.net) model_path = os.path.join(cfg.save_dir, cfg.exp_name, \ 'textsnake_{}_{}.pth'.format(model.backbone_name, cfg.checkepoch)) model.load_model(model_path) # copy to cuda model = model.to(cfg.device) if cfg.cuda: cudnn.benchmark = True detector = TextDetector(model, tr_thresh=cfg.tr_thresh, tcl_thresh=cfg.tcl_thresh) print('Start testing TextSnake.') output_dir = os.path.join(cfg.output_dir, cfg.exp_name) inference(detector, test_loader, output_dir) # compute DetEval print('Computing DetEval in {}/{}'.format(cfg.output_dir, cfg.exp_name)) subprocess.call(['python', 'dataset/total_text/Evaluation_Protocol/Python_scripts/Deteval.py', args.exp_name, '--tr', '0.7', '--tp', '0.6']) subprocess.call(['python', 'dataset/total_text/Evaluation_Protocol/Python_scripts/Deteval.py', args.exp_name, '--tr', '0.8', '--tp', '0.4']) print('End.')