def load_model_with_all_samples(depends_on, includes, burn): """Create a new model then load all the existing samples.""" paths = make_paths(depends_on, includes, 0) sample_files = [f for f in ld(paths['model_dir']) if 'samples_' in f] m = regression_model(depends_on, includes, True) m.sample(3) stochs = m.get_stochastics() for node in stochs.node: node.trace._trace[0] = np.array([]) for f in sample_files: samples = pd.read_csv(pj(paths['model_dir'], f)) for node in stochs.node: name = node.__name__ print node, name s1 = copy(node.trace._trace[0]) s2 = samples[name].values[burn:] node.trace._trace[0] = np.concatenate([s1, s2]) m.gen_stats() return m
def run(args): start = time() depends_on, includes, it = args2lists(args) model_paths = make_paths(depends_on, includes, it) sys.stdout = open(model_paths['log_path'], 'w') m = regression_model(depends_on, includes) m.sample(8000) m.get_traces().to_csv(model_paths['samples_path']) print 'all done in %.1f seconds' % (time() - start)