def worker_process(rank):
    from learning_objective.hidden_function import evaluate, get_settings

    lim_domain = get_settings(lim_domain_only=True)

    while True:
        comm.send("WORKER is ready", dest=0, tag=WORKER_READY)    # tell Master node that I need a new query
        query  = comm.recv(source=0, tag=MPI.ANY_TAG, status=status)
        tag = status.Get_tag()

        if tag == SEND_WORKER:
            # string = "WORKER %3d: The query is: " % rank
            # print string + str(query)  
            result = evaluate(query, lim_domain)
            comm.send(result, dest=0, tag=WORKER_DONE)

        elif tag == EXIT_WORKER:
            # Worker dies!
            print "WORKER: Worker %2d exiting" % rank
            break

    comm.send(None, dest=0, tag=EXIT_WORKER) # Suicide complete
def worker_process(rank):
    from learning_objective.hidden_function import evaluate, get_settings

    lim_domain = get_settings(lim_domain_only=True)

    while True:
        comm.send("WORKER is ready", dest=0,
                  tag=WORKER_READY)  # tell Master node that I need a new query
        query = comm.recv(source=0, tag=MPI.ANY_TAG, status=status)
        tag = status.Get_tag()

        if tag == SEND_WORKER:
            # string = "WORKER %3d: The query is: " % rank
            # print string + str(query)
            result = evaluate(query, lim_domain)
            comm.send(result, dest=0, tag=WORKER_DONE)

        elif tag == EXIT_WORKER:
            # Worker dies!
            print "WORKER: Worker %2d exiting" % rank
            break

    comm.send(None, dest=0, tag=EXIT_WORKER)  # Suicide complete
示例#3
0
                self.__lo_ci, self.__nn_pred, self.__ei, self.__gamma)

    def get_dataset(self):
        return self.__dataset

if __name__ == "__main__":
    t1 = time.time()
    random.seed(42)
    # Settings
    lim_domain = np.array([[-1, -1],
                           [ 1,  1]]) 
    nobs         = 50                                         # number of observed data

    # Create dataset
    dataset_X = np.random.uniform(-1, 1, size=(nobs, lim_domain.shape[1]))
    dataset = evaluate(dataset_X[0, :], lim_domain)

    for i in range(1, dataset_X.shape[0]):
        dataset = np.concatenate((dataset, evaluate(dataset_X[i, :], lim_domain)))

    domain = dataset[:, :-1]

    # Instantiate Optimizer
    optimizer = Optimizer(dataset, domain)
    optimizer.train()
    selected_points = optimizer.select_multiple()
    selection_index = 0
    selection_size = selected_points.shape[0]

    # Select a point
    for _ in range(50):
                self.__lo_ci, self.__nn_pred, self.__ei, self.__gamma)

    def get_dataset(self):
        return self.__dataset

if __name__ == "__main__":
    t1 = time.time()
    random.seed(42)
    # Settings
    lim_domain = np.array([[-1, -1],
                           [ 1,  1]]) 
    nobs         = 50                                         # number of observed data

    # Create dataset
    dataset_X = np.random.uniform(-1, 1, size=(nobs, lim_domain.shape[1]))
    dataset = evaluate(dataset_X[0, :], lim_domain)

    for i in range(1, dataset_X.shape[0]):
        dataset = np.concatenate((dataset, evaluate(dataset_X[i, :], lim_domain)))

    domain = dataset[:, :-1]

    # Instantiate Optimizer
    optimizer = Optimizer(dataset, domain)
    optimizer.train()
    selected_points = optimizer.select_multiple()
    selection_index = 0
    selection_size = selected_points.shape[0]

    # Select a point
    for _ in range(50):
import matplotlib.pyplot as plt
import utilities.optimizer as op
import numpy as np

# Open file to write times for comparison
file_record = open("data/seq_time_data.csv", "a")

# Freeze plotting
plot_it = False
print_statements = False

# Get settings relevant to the hidden function being used
lim_domain, init_size, additional_query_size, init_query, domain, selection_size = get_settings()

# Construct the dataset
dataset = evaluate(init_query[0,:], lim_domain)

print "Randomly query a set of initial points... ",

for query in init_query[1:,:]:
    dataset = np.concatenate((dataset, evaluate(query, lim_domain)), axis=0)

print dataset.shape
print "Complete initial dataset acquired"
    
# Begin sequential optimization using NN-LR based query system
optimizer = op.Optimizer(dataset, domain)
optimizer.train()

# Select a series of points to query
selected_points = optimizer.select_multiple(selection_size) # (#points, m) array
    return np.atleast_2d(domain[select_index, :])


if __name__ == "__main__":
    print_statements = False

    # Open file to write times for comparison
    file_record = open("data/gp_time_data.csv", "a")

    # Get settings relevant to the hidden function being used
    lim_domain, init_size, additional_query_size, init_query, domain, selection_size = get_settings(
    )

    # Construct the dataset
    dataset = evaluate(init_query[0, :], lim_domain)

    print "Randomly query a set of initial points... ",

    for query in init_query[1:, :]:
        dataset = np.concatenate((dataset, evaluate(query, lim_domain)),
                                 axis=0)

    print "Complete initial dataset acquired"

    # Begin sequential optimization using Gaussian process based query system
    model = pyGPs.GPR()
    model.getPosterior(dataset[:, :-1], dataset[:, -1:])
    model.optimize(dataset[:, :-1], dataset[:, -1:])
    model.predict(domain)
    y_pred = model.ym

    return np.atleast_2d(domain[select_index, :])


if __name__ == "__main__":
    print_statements = False

    # Open file to write times for comparison
    file_record = open("data/gp_time_data.csv", "a")

    # Get settings relevant to the hidden function being used
    lim_domain, init_size, additional_query_size, init_query, domain, selection_size = get_settings()

    # Construct the dataset
    dataset = evaluate(init_query[0,:], lim_domain)
    


    print "Randomly query a set of initial points... ",

    for query in init_query[1:,:]:
        dataset = np.concatenate((dataset, evaluate(query, lim_domain)), axis=0)

   
    print "Complete initial dataset acquired"
    
    # Begin sequential optimization using Gaussian process based query system
    model = pyGPs.GPR() 
    model.getPosterior(dataset[:,:-1], dataset[:,-1:])
    model.optimize(dataset[:,:-1], dataset[:,-1:])    
import utilities.optimizer as op
import numpy as np

# Open file to write times for comparison
file_record = open("data/seq_time_data.csv", "a")

# Freeze plotting
plot_it = False
print_statements = False

# Get settings relevant to the hidden function being used
lim_domain, init_size, additional_query_size, init_query, domain, selection_size = get_settings(
)

# Construct the dataset
dataset = evaluate(init_query[0, :], lim_domain)

print "Randomly query a set of initial points... ",

for query in init_query[1:, :]:
    dataset = np.concatenate((dataset, evaluate(query, lim_domain)), axis=0)

print "Complete initial dataset acquired"

# Begin sequential optimization using NN-LR based query system
optimizer = op.Optimizer(dataset, domain)
optimizer.train()

# Select a series of points to query
selected_points = optimizer.select_multiple(
    selection_size)  # (#points, m) array