The code is :
import bayesopt
from bayesoptmodule import BayesOptContinuous
import numpy as np
from time import clock
# Function for testing.
def testfunc(Xin):
total = 5.0
for value in Xin:
total = total + (value -0.33)*(value-0.33)
return total
# Class for OO testing.
class BayesOptTest(BayesOptContinuous):
def evaluateSample(self,Xin):
return testfunc(Xin)
# Let's define the parameters
# For different options: see parameters.h and cpp
# If a parameter is not define, it will be automatically set
# to a default value.
params = {}
params['n_iterations'] = 50
params['n_iter_relearn'] = 5
params['n_init_samples'] = 2
print ("Callback implementation")
n = 5 # n dimensions
lb = np.zeros((n,))
ub = np.ones((n,))
start = clock()
mvalue, x_out, error = bayesopt.optimize(testfunc, n, lb, ub, params)
print ("Result", mvalue, "at", x_out)
print ("Running time:", clock() - start, "seconds")
raw_input('Press INTRO to continue')
print ("OO implementation")
bo_test = BayesOptTest(n)
bo_test.parameters = params
bo_test.lower_bound = lb
bo_test.upper_bound = ub
start = clock()
mvalue, x_out, error = bo_test.optimize()
print ("Result", mvalue, "at", x_out)
print ("Running time:", clock() - start, "seconds")
raw_input('Press INTRO to continue')
print ("Callback discrete implementation")
x_set = np.random.rand(100,n)
start = clock()
mvalue, x_out, error = bayesopt.optimize_discrete(testfunc, x_set, params)
print ("Result", mvalue, "at", x_out)
print ("Running time:", clock() - start, "seconds")
value = np.array([testfunc(i) for i in x_set])
print ("Optimum", value.min(), "at", x_set[value.argmin()])
When I run the Python program I get the error like this: File "G:\workspace\Independentstudy\src\demo\demo_quad.py", line 27, in import bayesopt ImportError: No module named 'bayesopt
I have used the Eclipse IDE and PyDev and Python 3 the bayesopt is a c++ file i have included in pythonpath by going to properties > pythonpath. I have read the tutorial regarding this.
Aucun commentaire:
Enregistrer un commentaire