'--nsamples', type=int, default=1024, help='Number of posterior samples to average (only used for DTSRBayes)' ) argparser.add_argument( '-M', '--mode', type=str, default=None, help= 'Predict mode ("response" or "loglik") or default None, which does both' ) args, unknown = argparser.parse_known_args() p = Config(args.config_path) if len(args.models) > 0: models = args.models else: models = p.model_list[:] run_baseline = False run_dtsr = False for m in models: if not run_baseline and m.startswith('LM') or m.startswith('GAM'): run_baseline = True elif not run_dtsr and m.startswith('DTSR'): run_dtsr = True dtsr_formula_list = [ Formula(p.models[m]['formula']) for m in p.model_list
table_str += '\\end{tabular}\n\\end{table}' print(table_str) if __name__ == '__main__': argparser = argparse.ArgumentParser(''' Generates a LaTeX table of beta summaries for one or more DTSR models ''') argparser.add_argument('config', help='Path to config file defining models') argparser.add_argument('-m', '--models', nargs='+', default=[], help='Folder name(s) containing model eval summaries (if blank applies to all models described in config file).') argparser.add_argument('-n', '--names', nargs='*', default=[], help='Model names to print in table (must be omitted or same length as --models).') args = argparser.parse_args() p = Config(args.config) if len(args.models) == 0: models = p.model_list[:] else: models = args.models[:] if len(args.names) == 0: names = p.model_list[:] else: assert len(args.names) == len(models), 'Length mismatch between number of models and number of model names' names = args.names beta_summaries = {} beta_names = set() for i in range(len(models)):
argparser = argparse.ArgumentParser(''' Generates plots of fitted spillover estimates for "fullS" baseline models, visualizing those models' estimates of temporal diffusion. ''') argparser.add_argument('paths', nargs='+', help='Paths to config files defining baseline models to plot') argparser.add_argument('-m', '--models', nargs='*', default=None, help='List of models to plot. If none specified, plots all relevant models in the config files') argparser.add_argument('-x', '--x', type=float, default=6, help='Width of plots in inches') argparser.add_argument('-X', '--xlab', type=str, default=None, help='x-axis label (if default -- None -- no label)') argparser.add_argument('-y', '--y', type=float, default=4, help='Height of plots in inches') argparser.add_argument('-Y', '--ylab', type=str, default=None, help='y-axis label (if default -- None -- no label)') argparser.add_argument('-c', '--cmap', type=str, default='gist_rainbow', help='Name of matplotlib colormap library to use for curves') argparser.add_argument('-l', '--nolegend', action='store_true', help='Omit legend from figure') args = argparser.parse_args() configs = [] for c in args.paths: configs.append(Config(c)) if args.models is None: models = [] else: models = [x for x in args.models if ('LMfullS' in x or 'LMEfullS' in x)] assert len(models > 0), 'No valid models in script call. Models must be linear fullS models.' cm = plt.get_cmap(args.cmap) legend = not args.nolegend for p in configs: if len(models) == 0: models = [x for x in p.model_list[:] if ('LMfullS' in x or 'LMEfullS' in x)] for name in models: dirpath = p.logdir + '/' + name + '/'
type=str, default='gist_rainbow', help='Name of matplotlib colormap library to use for curves') argparser.add_argument('-l', '--nolegend', action='store_true', help='Omit legend from figure') argparser.add_argument( '-t', '--transparent_background', action='store_true', help='Use transparent background (otherwise white background)') args, unknown = argparser.parse_known_args() for path in args.paths: p = Config(path) if not p.use_gpu_if_available: os.environ['CUDA_VISIBLE_DEVICES'] = '-1' if len(args.models) > 0: models = [ m for m in args.models if (m in p.model_list and m.startswith('DTSR')) ] else: models = p.model_list[:] prefix = args.prefix if prefix != '': prefix += '_' n_time_units = args.ntimeunits
default=[], help='List of paths to config files.') argparser.add_argument( '-p', '--partition', type=str, default='dev', help='Name of partition to use (one of "train", "dev", "test")') args, unknown = argparser.parse_known_args() losses = {} select = {} systems = set() for task in args.tasks: p = Config(task) models = p.model_list[:] systems = systems.union( set([model2name(x.split('_')[0].strip()) for x in models])) for m in models: if os.path.exists(p.outdir + '/' + m + '/%s_losses_%s.txt' % (p.loss, args.partition)): sys_name, trial_name = m.split('_') sys_name = model2name(sys_name) if sys_name.startswith('LME') and trial_name == 'noRE': l = pd.read_csv(p.outdir + '/' + m + '/%s_losses_%s.txt' % (p.loss, args.partition), sep=' ', header=None, skipinitialspace=True) else: