def main(): logging.info("Loading Config file: {}".format(conf)) # Create sh file filename = 'run_' + bench_name + '.sh' f = open(filename, 'w') print('#!/bin/bash', file=f) print('', file=f) for i, (vals, name, mykeys) in enumerate(zip(values, names, keys)): config = json.load(open(conf)) for val, key in zip(vals, mykeys): pvorg.change_value(config, key, val) logdir = pvorg.get_logdir_name(config=config, bench=bench_name, prefix=name, cfg_file=conf) pvorg.init_logdir(config=config, cfg_file=conf, logdir=logdir) print(print_str.format(run=logdir, gpu=i), file=f) logging.info(" {}".format(print_str.format(run=logdir, gpu=i))) logging.info(" ") print("", file=f) f.close() st = os.stat(filename) os.chmod(filename, st.st_mode | stat.S_IEXEC)
def main(args): pvutils.set_gpus_to_use(args) logging.info("Loading Config file: {}".format(args.config)) config = json.load(args.config) logdir = pvorg.get_logdir_name(project=config['pyvision']['project_name'], bench=args.bench, cfg_file=args.config, prefix=args.name, timestamp=args.timestamp) pvorg.init_logdir(config, args.config, logdir) logging.info("Model initialized in: ") logging.info(logdir) if args.wait: import GPUtil while GPUtil.getGPUs()[0].memoryUtil > 0.1: logging.info("GPU 0 is beeing used.") GPUtil.showUtilization() sleep(60) if args.debug or args.train: sfile = config['pyvision']['entry_point'] model_file = os.path.realpath( os.path.join(os.path.dirname(args.config), sfile)) assert (os.path.exists(model_file)) m = imp.load_source('model', model_file) mymodel = m.create_pyvision_model(config, logdir=logdir, debug=args.debug) if args.debug: restarts = 0 else: restarts = args.restarts pvutils.robust_training(mymodel, restarts=restarts, subprocess=False) # Do forward pass # img_var = Variable(sample['image']).cuda() # NOQA # prediction = mymodel(img_var) else: logging.info("Initializing only mode. [Try train.py --train ]") logging.info("To start training run:") logging.info(" pv2 train {} --gpus".format(logdir)) return logdir
args.bench = 'Debug' config['logging']['display_iter'] = 5 config['logging']['eval_iter'] = 5 # config['logging']['max_val_examples'] = 10 # config['logging']['max_train_examples'] = 10 config['evaluation']['val_subsample'] = 20 config['evaluation']['train_subsample'] = 500 config['training']['max_epoch_steps'] = 10 config['training']['max_epochs'] = 10 config['training']['batch_size'] = 2 logdir = pvorg.get_logdir_name(project=config['pyvision']['project_name'], bench=args.bench, cfg_file=args.config, prefix=args.name, timestamp=args.timestamp) pvorg.init_logdir(config, args.config, logdir) logging.info("Model initialized in: ") logging.info(logdir) if args.wait: import GPUtil while GPUtil.getGPUs()[0].memoryUtil > 0.1: logging.info("GPU 0 is beeing used.") GPUtil.showUtilization() sleep(60)