Пример #1
0
iteration = conf['iteration']
K = conf['K']

data = init_dataset(funct, num, bounds)
dataset = {}
dataset['train_x'] = data['train_x']
dataset['train_y'] = data['train_y']

with open('dataset.pickle', 'wb') as f:
    pickle.dump(dataset, f)

for ii in range(iteration):
    print(
        '********************************************************************')
    print('iteration', ii)
    model = BO(dataset, bounds, bfgs_iter, debug=False)
    best_x = model.best_x
    best_y = model.best_y
    print('best_x', best_x)
    print('best_y', best_y)

    x0 = model.optimize_constr()
    new_x = model.optimize_wEI(x0.reshape(-1))
    new_y = funct(new_x, bounds)

    print('x', new_x.T)
    print('y', new_y.T)
    dataset['train_x'] = np.concatenate((dataset['train_x'].T, new_x.T)).T
    dataset['train_y'] = np.concatenate((dataset['train_y'].T, new_y.T)).T
    with open('dataset.pickle', 'wb') as f:
        pickle.dump(dataset, f)
Пример #2
0
iteration = conf['iteration']
K = conf['K']

data = init_dataset(funct, num, bounds)
dataset = {}
dataset['train_x'] = data['train_x']
dataset['train_y'] = data['train_y']

with open('dataset.pickle', 'wb') as f:
    pickle.dump(dataset, f)


for ii in range(iteration):
    print('********************************************************************')
    print('iteration',ii)
    model = BO(dataset, bounds, bfgs_iter, debug=False)
    best_x = model.best_x
    best_y = model.best_y
    print('best_x', best_x)
    print('best_y', best_y)

    p = np.minimum(int(K/5), 5)
    def task(x0):
        x0 = model.optimize_wEI(x0)
        wEI_tmp = model.calc_wEI(x0)
        return x0, wEI_tmp

    pool = multiprocessing.Pool(processes=5)
    x0_list = []
    for i in range(int(K/p)):
        x0_list.append(model.rand_x(p))
Пример #3
0
# Test data
nn = 200
X_star = np.linspace(-0.5, 0.5, nn)[None, :]
y_star = funct(X_star, bounds)
X_star_real = X_star * (bounds[0, 1] - bounds[0, 0]) + (bounds[0, 1] +
                                                        bounds[0, 0]) / 2

with open('dataset.pickle', 'wb') as f:
    pickle.dump(dataset, f)

for ii in range(iteration):
    print(
        '********************************************************************')
    print('iteration', ii)
    model = BO(dataset, bounds, bfgs_iter, debug=False)
    best_x = model.best_x
    best_y = model.best_y
    print('best_x', best_x)
    print('best_y', best_y)

    y_pred, y_var = model.predict(X_star)
    train_x = dataset['train_x']
    train_y = dataset['train_y']
    train_x_real = train_x * (bounds[0, 1] - bounds[0, 0]) + (bounds[0, 1] +
                                                              bounds[0, 0]) / 2

    p = np.minimum(int(K / 5), 5)

    def task(x0):
        x0 = model.optimize_wEI(x0)
Пример #4
0
bfgs_iter = conf['max_iter']
num_layers = conf['num_layers']
layer_sizes = conf['layer_size']
activations = conf['activation']
l1 = conf['l1']
l2 = conf['l2']
scale = conf['scale']

for i in dataset.keys():
    print(i, dataset[i].shape)
tmp = np.copy(dataset)

model = BO(name,
           num_models,
           dataset,
           bfgs_iter=bfgs_iter,
           debug=False,
           scale=scale,
           num_layers=num_layers,
           layer_sizes=layer_sizes,
           activations=activations,
           l1=l1,
           l2=l2)
pys, ps2s = model.predict(dataset['test_x'])
print('pys', pys.T)
print('ps2s', ps2s.T)
print('true', dataset['test_y'])
delta = pys.T - dataset['test_y']
print('delta', delta)
print('MSE', np.dot(delta, delta.T))