Beispiel #1
0
 def dispatch(self, method_name, *args, **kwargs):
     args_names = method_name_to_args[method_name]
     args_dict = dict(zip(args_names, args))
     kwargs.update(args_dict)
     out = au.call(method_name, kwargs, self.URI)
     if isinstance(out, tuple):
         out, id = out
     return out
Beispiel #2
0
 def dispatch(self, method_name, *args, **kwargs):
     args_names = method_name_to_args[method_name]
     args_dict = dict(zip(args_names, args))
     kwargs.update(args_dict)
     out = au.call(method_name, kwargs, self.URI)
     if isinstance(out, tuple):
         out, id = out
     return out
Beispiel #3
0
 def call_bayesdb_engine(self, method_name, args_dict):
   if self.online:
     out, id = au.call(method_name, args_dict, self.URI)
   else:
     method = getattr(self.engine, method_name)
     argnames = inspect.getargspec(method)[0]
     args = [args_dict[argname] for argname in argnames if argname in args_dict]
     out = method(*args)
   return out
T, M_r, M_c = du.gen_factorial_data_objects(
    seed, num_clusters, num_cols, num_rows, num_splits, max_mean=max_mean, max_std=max_std
)

# non-stub functions
non_stub = set(
    ["initialize", "initialize_and_analyze", "analyze", "impute", "impute_and_confidence", "simple_predictive_sample"]
)

method_name = "initialize"
args_dict = dict()
args_dict["M_c"] = M_c
args_dict["M_r"] = M_r
args_dict["T"] = T
out, id = au.call(method_name, args_dict, URI)
M_c, M_r, X_L_prime, X_D_prime = out

method_name = "analyze"
args_dict = dict()
args_dict["M_c"] = M_c
args_dict["T"] = T
args_dict["X_L"] = X_L_prime
args_dict["X_D"] = X_D_prime
args_dict["kernel_list"] = ()
args_dict["n_steps"] = 10
args_dict["c"] = ()
args_dict["r"] = ()
args_dict["max_iterations"] = "max_iterations"
args_dict["max_time"] = "max_time"
out, id = au.call(method_name, args_dict, URI)
Beispiel #5
0
URI = 'http://' + hostname + ':8007'
method_name = 'simple_predictive_sample'
#
views_samples = []
for replicating_samples_params in views_replicating_samples_params:
    this_view_samples = []
    for replicating_sample_params in replicating_samples_params:
        args_dict = dict(
            M_c=save_dict['M_c'],
            X_L=save_dict['X_L'],
            X_D=save_dict['X_D'],
            Y=replicating_sample_params['Y'],
            Q=replicating_sample_params['Q'],
            n=replicating_sample_params['n'],
        )
        this_view_this_sample, id = au.call(method_name, args_dict, URI)
        print(id)
        this_view_samples.extend(this_view_this_sample)
    views_samples.append(this_view_samples)
for view_idx, view_samples in enumerate(views_samples):
    data_array = numpy.array(view_samples)
    pu.plot_T(data_array)
    pylab.title('simple_predictive_sample observed, view %s on remote' %
                view_idx)

# test simple_predictive_sample_unobserved
observed_Q = views_replicating_samples_params[0][0]['Q']
Q = [(int(1E6), old_tuple[1]) for old_tuple in observed_Q]
new_row_samples = []
new_row_sample = su.simple_predictive_sample(M_c,
                                             X_L,
Beispiel #6
0
URI = 'http://' + hostname + ':8007'
method_name = 'simple_predictive_sample'
#
views_samples = []
for replicating_samples_params in views_replicating_samples_params:
    this_view_samples = []
    for replicating_sample_params in replicating_samples_params:
        args_dict = dict(
            M_c=save_dict['M_c'],
            X_L=save_dict['X_L'],
            X_D=save_dict['X_D'],
            Y=replicating_sample_params['Y'],
            Q=replicating_sample_params['Q'],
            n=replicating_sample_params['n'],
            )
        this_view_this_sample, id = au.call(
            method_name, args_dict, URI)
        print id
        this_view_samples.extend(this_view_this_sample)
    views_samples.append(this_view_samples)
for view_idx, view_samples in enumerate(views_samples):
    data_array = numpy.array(view_samples)
    pu.plot_T(data_array)
    pylab.title('simple_predictive_sample observed, view %s on remote' % view_idx)

# test simple_predictive_sample_unobserved
observed_Q = views_replicating_samples_params[0][0]['Q']
Q = [(int(1E6), old_tuple[1]) for old_tuple in observed_Q]
new_row_samples = []
new_row_sample = su.simple_predictive_sample(
    M_c, X_L, X_D, Y, Q, get_next_seed, n=1000)
new_row_samples.extend(new_row_sample)
Beispiel #7
0
parser = argparse.ArgumentParser()
parser.add_argument('pkl_name', type=str)
parser.add_argument('--hostname', default='localhost', type=str)
parser.add_argument('--seed', default=0, type=int)
parser.add_argument('--start_id', default=0, type=int)
args = parser.parse_args()
pkl_name = args.pkl_name
hostname = args.hostname
seed = args.seed
id = args.start_id

# settings
URI = 'http://' + hostname + ':8007'
print('URI: ', URI)

save_dict = fu.unpickle(pkl_name)
method_name = 'analyze'
args_dict = dict()
args_dict['M_c'] = save_dict['M_c']
args_dict['T'] = save_dict['T']
args_dict['X_L'] = save_dict['X_L']
args_dict['X_D'] = save_dict['X_D']
args_dict['kernel_list'] = 'kernel_list'
args_dict['n_steps'] = 1
args_dict['c'] = 'c'
args_dict['r'] = 'r'
args_dict['max_iterations'] = 'max_iterations'
args_dict['max_time'] = 'max_time'
out, id = au.call(method_name, args_dict, URI, id)
X_L_prime, X_D_prime = out