IndexError: list index out of range when using BayesianOptimization
See original GitHub issueI’m currently having issues trying to BayesianOptimization
for the tuning process for a binary classifier. This issue doesn’t appear with RandomSearch
and Hyperband
. Here’s how the hyper model is constructed:
class MyHyperModel(HyperModel):
def __init__(self, num_classes):
self.num_classes = num_classes
def build(self, hp):
model = keras.Sequential()
for i in range(hp.Int('num_layers', 2, 20)):
model.add(keras.layers.Dense(units=hp.Int('units_' + str(i),
min_value=32,
max_value=512,
step=32),
activation='relu'))
model.add(keras.layers.Dense(self.num_classes, activation='sigmoid'))
model.compile(
optimizer=keras.optimizers.Adam(
hp.Choice('learning_rate',
values=[1e-2, 1e-3, 1e-4])),
loss='binary_crossentropy',
metrics=['accuracy'])
return model
hypermodel = MyHyperModel(num_classes=1)
tuner = BayesianOptimization(
hypermodel,
objective='accuracy',
max_trials=10,
project_name='test')
tuner.search(X_train.values, y_train.values.flatten(),
epochs=10,
validation_data=(X_test.values, y_test.values.flatten()))
The search works well for a while and crashes sometimes with this traceback error. It is worthwhile mentioning that the search even completes without this error but most of the time it crashes to this.
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-21-d78d7772b203> in <module>()
1 tuner.search(X_train.values, y_train.values.flatten(),
2 epochs=10,
----> 3 validation_data=(X_test.values, y_test.values.flatten()))
4 frames
/usr/local/lib/python3.6/dist-packages/kerastuner/engine/hyperparameters.py in cumulative_prob_to_value(prob, hp)
842 ele_prob = 1 / len(hp.values)
843 index = math.floor(prob / ele_prob)
--> 844 return hp.values[index]
845 elif isinstance(hp, (Int, Float)):
846 sampling = hp.sampling or 'linear'
IndexError: list index out of range
Am I doing something wrong? If yes, how can I correct this?
Issue Analytics
- State:
- Created 4 years ago
- Reactions:1
- Comments:5 (2 by maintainers)
Top Results From Across the Web
List Index Out of Range – Python Error Message Solved
You'll get the Indexerror: list index out of range error when iterating through a list and trying to access an item that doesn't...
Read more >IndexError: list index out of range and python - LearnDataSci
This index error is triggered when indexing a list using a value outside of its range of indexes. The best way to avoid...
Read more >Why is my list index out of range when using scipy optimization?
I am trying to solve a quadratic program in python using scipy.optimize and keep getting a list out of range error when solving...
Read more >Indexerror: list Index Out of Range in Python - STechies
If you are working with lists in Python, you have to know the index of the list elements. This will help you access...
Read more >How to Fix IndexError in Python - Rollbar
The IndexError: list index out of range error occurs in Python when ... This can be done by using the range() function along...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@PyDataBlog the fix is now merged into master, could you please confirm this fixes the issue you saw, and if not please reopen?
Hello, it seems i encountered the same issue but overcame it after updating to 1.0.2 but I have a confusion in using keras tuner for loop for determining hidden layers as search space, if there are anyone willing to help. Thank you https://stackoverflow.com/questions/66783048/keras-tuner-uses-for-i-in-rangehp-intn-layers-1-3-but-does-not-show-agre