mercredi 6 mai 2015

Python import error in bayesoptimization

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