コード例 #1
0
ファイル: rotation_speed.py プロジェクト: tbroderick/Nomon
    def run_job(self, my_task_id, num_tasks, num_clicks=1500, trials=10):

        for period_num in self.period_li:
            param_dict = dict()
            param_dict["time_rotate"] = period_num
            param_dict["N_pred"] = 3
            param_dict["num_words"] = 17

            for click_dist, dp_dist in zip(self.click_dists, self.dp_dists):
                param_dict["click_dist"] = click_dist
                param_dict["dp_dist"] = dp_dist

                self.parameters_list += [param_dict.copy()]

        print(len(self.parameters_list))
        num_jobs = len(self.parameters_list)
        job_indicies = np.array_split(np.arange(1, num_jobs + 1),
                                      num_tasks)[my_task_id - 1]
        print(job_indicies)

        for job_index in job_indicies:
            parameters = self.parameters_list[job_index - 1]
            user_num = int((job_index * 0.999) / num_jobs)
            print(user_num)
            sim = SimulatedUser(parentdir, job_num=user_num)
            sim.parameter_metrics(parameters,
                                  num_clicks=num_clicks,
                                  trials=trials)
コード例 #2
0
    def run_job(self, my_task_id, num_tasks, num_clicks=500, trials=20):

        for fp_rate in self.false_positives:
            param_dict = dict()
            self.parameters_dict["false_positive"] = fp_rate
            self. parameters_dict["order"] = "sorted"
            self.parameters_dict["words_first"] = True
            self.parameters_dict["num_words"] = 7

            for dist in self.click_dists:
                self.parameters_dict["click_dist"] = dist

                self.parameters_list += [self.parameters_dict.copy()]

        print(len(self.parameters_list))
        num_jobs = len(self.parameters_list)
        job_indicies = np.array_split(np.arange(1, num_jobs+1), num_tasks)[my_task_id-1]
        print(job_indicies)

        for job_index in job_indicies:
            parameters = self.parameters_list[job_index-1]
            user_num = int((job_index*0.999)/num_jobs)
            print(user_num)
            sim = SimulatedUser(parentdir, job_num=user_num)
            sim.parameter_metrics(parameters, num_clicks=num_clicks, trials=trials)
コード例 #3
0
    def run_job(self, my_task_id, num_tasks, num_clicks=1500, trials=30):

        for click_dist, dp_dist in zip(self.click_dists, self.dp_dists):
            # click_dist = click_dist / np.sum(click_dist)
            param_dict = {}
            param_dict["click_dist"] = click_dist
            param_dict["dp_dist"] = dp_dist
            param_dict["time_rotate"] = 4
            for n_pred in self.n_pred_range:
                param_dict["N_pred"] = n_pred
                for num_words in range(0, n_pred * 26, 3):
                    param_dict["num_words"] = num_words
                    self.parameters_list += [param_dict.copy()]

        print(len(self.parameters_list))
        num_jobs = len(self.parameters_list)
        job_indicies = np.array_split(np.arange(1, num_jobs + 1),
                                      num_tasks)[my_task_id - 1]
        print(job_indicies)

        for job_index in job_indicies:
            parameters = self.parameters_list[job_index - 1]
            user_num = int((job_index * 0.999) / num_jobs)
            print(user_num)
            sim = SimulatedUser(parentdir, job_num=user_num)
            sim.parameter_metrics(parameters,
                                  num_clicks=num_clicks,
                                  trials=trials)
コード例 #4
0
    def run_job(self, my_task_id, num_tasks, num_clicks=500, trials=1):

        for fp_rate in self.false_positives:
            param_dict = dict()
            self.parameters_dict["false_positive"] = fp_rate
            param_dict["N_pred"] = 3
            param_dict["num_words"] = 17

            for dist in self.click_dists:
                hist = dist(np.arange(80))
                hist = hist / np.sum(hist)
                param_dict["click_dist"] = hist.tolist()

                self.parameters_list += [self.parameters_dict.copy()]

        print(len(self.parameters_list))
        num_jobs = len(self.parameters_list)
        job_indicies = np.array_split(np.arange(1, num_jobs + 1),
                                      num_tasks)[my_task_id - 1]
        print(job_indicies)

        for job_index in job_indicies:
            parameters = self.parameters_list[job_index - 1]
            user_num = int((job_index * 0.999) / num_jobs)
            print(user_num)
            sim = SimulatedUser(parentdir, job_num=user_num)
            sim.parameter_metrics(parameters,
                                  num_clicks=num_clicks,
                                  trials=trials)
コード例 #5
0
    my_task_id = 24
    num_tasks = 24


words_first_range = [True, False]
order_range = ["sorted", "default"]
# order_range = ["sorted"]
num_words_range = np.arange(0, 20, 1).tolist()
print(num_words_range)
parameters_list = []
parameters_dict = dict()
for wf in words_first_range:
    for kc in order_range:
        for nw in num_words_range:
            parameters_dict["order"] = kc
            parameters_dict["words_first"] = wf
            parameters_dict["num_words"] = nw
            parameters_list += [parameters_dict.copy()]

print(len(parameters_list))
num_jobs = len(parameters_list)
job_indicies = np.array_split(np.arange(1, num_jobs+1), num_tasks)[my_task_id-1]
print(job_indicies)

for job_index in job_indicies:
    parameters = parameters_list[job_index-1]
    user_num = int((job_index*0.999)/num_jobs)
    print(user_num)
    sim = SimulatedUser(parentdir, job_num=user_num)
    sim.parameter_metrics(parameters, num_clicks=500, trials=30)
コード例 #6
0
from simulated_user import SimulatedUser, normal_hist
from matplotlib import pyplot as plt

try:
    my_task_id = int(sys.argv[1])
    num_tasks = int(sys.argv[2])
except IndexError:
    my_task_id = 1
    num_tasks = 10

jobs = np.arange(1, 21)
first_half, second_half = np.array_split(jobs, 2)
weaved_jobs = np.empty((first_half.size + second_half.size, ),
                       dtype=first_half.dtype)
weaved_jobs[0::2] = first_half
weaved_jobs[1::2] = second_half[::-1]

job_indicies = np.array_split(weaved_jobs, num_tasks)[my_task_id - 1]

parameters_list = [{
    "click_dist": (normal_hist(0, 2) + normal_hist(0 + i * 2, 2)) / 2
} for i in job_indicies]

attributes = [i * 2 for i in job_indicies]
for parameters, attribute in zip(parameters_list, attributes):
    sim = SimulatedUser(currentdir)
    sim.parameter_metrics(parameters,
                          num_clicks=500,
                          trials=20,
                          attribute=attribute)
コード例 #7
0
parameters_dict = dict()

for dist in click_dists:
    delta = dist[1]
    scan_delays = list({0.5, max(0.5, delta + 6 * 0.05)})
    print(scan_delays)
    for scan_delay in scan_delays:
        parameters_dict["order"] = "default"
        parameters_dict["words_first"] = True
        parameters_dict["num_words"] = 0
        parameters_dict["click_dist"] = dist[0]
        parameters_dict["attribute"] = dist[1]
        parameters_dict["scan_delay"] = scan_delay
        parameters_list += [parameters_dict.copy()]

print(len(parameters_list))
num_jobs = len(parameters_list)
job_indicies = np.array_split(np.arange(1, num_jobs + 1),
                              num_tasks)[my_task_id - 1]
print(job_indicies)

for job_index in job_indicies:
    parameters = parameters_list[job_index - 1]
    user_num = int((job_index * 0.999) / num_jobs)
    print(user_num)
    sim = SimulatedUser(parentdir, job_num=user_num)
    sim.parameter_metrics(parameters,
                          num_clicks=500,
                          trials=1,
                          attribute=parameters["attribute"])