pyGPGO
pyGPGO copied to clipboard
Range of int parameters not considered as expected
Hello,
I use the package (v0.5.1) to tune hyperparameters in deep learning. I noted that for the parameters that are defined as integer values, the last value is never considered. I think this is because the function :
def _sampleParam(self):
d = OrderedDict()
for index, param in enumerate(self.parameter_key):
if self.parameter_type[index] == 'int':
d[param] = np.random.randint(
self.parameter_range[index][0], self.parameter_range[index][1])
elif self.parameter_type[index] == 'cont':
d[param] = np.random.uniform(
self.parameter_range[index][0], self.parameter_range[index][1])
else:
raise ValueError('Unsupported variable type.')
return d
in GPGO.py.
This is not convenient in particular when I use an integer variable to define activation functions, as it makes that the last one is not evaluated. For now I just put a dummy function as last element of my vector. I think it should be:
d[param] = np.random.randint(
self.parameter_range[index][0], self.parameter_range[index][1]+1)