autokeras icon indicating copy to clipboard operation
autokeras copied to clipboard

Bug: KeyError: 'text_block_1/max_tokens'

Open gitzev opened this issue 1 year ago • 5 comments

Bug Description

Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/base_tuner.py", line 270, in _try_run_and_update_trial self._run_and_update_trial(trial, *fit_args, **fit_kwargs) File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/base_tuner.py", line 235, in _run_and_update_trial results = self.run_trial(trial, *fit_args, **fit_kwargs) File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/tuner.py", line 287, in run_trial obj_value = self._build_and_fit_model(trial, *args, **copied_kwargs) File "/usr/local/lib/python3.10/dist-packages/autokeras/engine/tuner.py", line 91, in _build_and_fit_model model = self._try_build(trial.hyperparameters) File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/tuner.py", line 155, in _try_build model = self._build_hypermodel(hp) File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/tuner.py", line 146, in _build_hypermodel model = self.hypermodel.build(hp) File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/hypermodel.py", line 115, in _build_wrapper return self._build(hp, *args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/autokeras/graph.py", line 250, in build outputs = block.build(hp, inputs=temp_inputs) File "/usr/local/lib/python3.10/dist-packages/autokeras/engine/block.py", line 38, in _build_wrapper return super()._build_wrapper(hp, *args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/hypermodel.py", line 115, in _build_wrapper return self._build(hp, *args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/autokeras/blocks/wrapper.py", line 159, in build output_node = self._build_block(hp, output_node, block_type) File "/usr/local/lib/python3.10/dist-packages/autokeras/blocks/wrapper.py", line 165, in _build_block max_tokens = self.max_tokens or hp.Choice( File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/hyperparameters/hyperparameters.py", line 295, in Choice return self._retrieve(hp) File "/usr/local/lib/python3.10/dist-packages/keras_tuner/engine/hyperparameters/hyperparameters.py", line 203, in _retrieve return self.values[hp.name] KeyError: 'text_block_1/max_tokens'

Bug Reproduction

When fit the model on random trial i have error. It can be trial=7 or trial =63 model2 = ak.AutoModel( inputs=[ak.TextInput(), ak.StructuredDataInput()], outputs=[ ak.RegressionHead(metrics=["mae"]) ], overwrite=False, max_trials=100, objective ='val_mae' ) model2.fit( [texts_all_np_train, xTrain_train], y_train, epochs=8, validation_split=0.2 )

Data used by the code: texts_all_np_train= df['Stage_Description'].values #str

Expected Behavior

Setup Details

Include the details about the versions of:

  • OS type and version: google colab
  • Python: 3.10
  • autokeras: <1.1.0>
  • keras-tuner: 1.3.5
  • scikit-learn: 1.2.2
  • numpy: 1.22.4
  • pandas: 1.5.3
  • tensorflow: 2.12.0

Additional context

gitzev avatar Jun 15 '23 07:06 gitzev

I'm getting this issue too, were you able to fix it?

krishnayah avatar Aug 24 '23 22:08 krishnayah

Me, too 😕

tamio0800 avatar Sep 05 '23 01:09 tamio0800

I have encountered a similar error.

Search: Running Trial #5

Value |Best Value So Far |Hyperparameter vanilla |vanilla |text_block_1/block_type none |none |text_block_1/embedding_1/pretraining 64 |64 |text_block_1/embedding_1/embedding_dim 0.25 |0.25 |text_block_1/embedding_1/dropout 5 |5 |text_block_1/conv_block_1/kernel_size False |False |text_block_1/conv_block_1/separable False |False |text_block_1/conv_block_1/max_pooling 1 |1 |text_block_1/conv_block_1/num_blocks 1 |1 |text_block_1/conv_block_1/num_layers 256 |256 |text_block_1/conv_block_1/filters_0_0 128 |128 |text_block_1/conv_block_1/filters_0_1 0 |0 |text_block_1/conv_block_1/dropout 64 |64 |text_block_1/conv_block_1/filters_1_0 32 |32 |text_block_1/conv_block_1/filters_1_1 0 |0 |classification_head_1/dropout sgd |adam |optimizer 0.001 |0.001 |learning_rate

Traceback (most recent call last): File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\base_tuner.py", line 273, in _try_run_and_update_trial self._run_and_update_trial(trial, *fit_args, **fit_kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\base_tuner.py", line 238, in _run_and_update_trial results = self.run_trial(trial, *fit_args, **fit_kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\tuner.py", line 314, in run_trial obj_value = self._build_and_fit_model(trial, *args, **copied_kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\engine\tuner.py", line 91, in _build_and_fit_model model = self._try_build(trial.hyperparameters) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\tuner.py", line 164, in _try_build model = self._build_hypermodel(hp) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\tuner.py", line 155, in _build_hypermodel model = self.hypermodel.build(hp) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\hypermodel.py", line 120, in _build_wrapper return self._build(hp, *args, **kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\graph.py", line 250, in build outputs = block.build(hp, inputs=temp_inputs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\engine\block.py", line 38, in _build_wrapper return super()._build_wrapper(hp, *args, **kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\hypermodel.py", line 120, in _build_wrapper return self._build(hp, *args, **kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\blocks\wrapper.py", line 159, in build output_node = self._build_block(hp, output_node, block_type) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\blocks\wrapper.py", line 165, in _build_block max_tokens = self.max_tokens or hp.Choice( File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\hyperparameters\hyperparameters.py", line 300, in Choice return self._retrieve(hp) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\hyperparameters\hyperparameters.py", line 208, in _retrieve return self.values[hp.name] KeyError: 'text_block_1/max_tokens' Traceback (most recent call last): File "", line 1, in File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\tasks\text.py", line 160, in fit history = super().fit( File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\auto_model.py", line 292, in fit history = self.tuner.search( File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\engine\tuner.py", line 193, in search super().search( File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\base_tuner.py", line 234, in search self.on_trial_end(trial) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\base_tuner.py", line 338, in on_trial_end self.oracle.end_trial(trial) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\oracle.py", line 108, in wrapped_func ret_val = func(*args, **kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\oracle.py", line 586, in end_trial self._check_consecutive_failures() File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\oracle.py", line 543, in _check_consecutive_failures raise RuntimeError( RuntimeError: Number of consecutive failures exceeded the limit of 3. Traceback (most recent call last): File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\base_tuner.py", line 273, in _try_run_and_update_trial self._run_and_update_trial(trial, *fit_args, **fit_kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\base_tuner.py", line 238, in _run_and_update_trial results = self.run_trial(trial, *fit_args, **fit_kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\tuner.py", line 314, in run_trial obj_value = self._build_and_fit_model(trial, *args, **copied_kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\engine\tuner.py", line 91, in _build_and_fit_model model = self._try_build(trial.hyperparameters) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\tuner.py", line 164, in _try_build model = self._build_hypermodel(hp) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\tuner.py", line 155, in _build_hypermodel model = self.hypermodel.build(hp) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\hypermodel.py", line 120, in _build_wrapper return self._build(hp, *args, **kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\graph.py", line 250, in build outputs = block.build(hp, inputs=temp_inputs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\engine\block.py", line 38, in _build_wrapper return super()._build_wrapper(hp, *args, **kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\hypermodel.py", line 120, in _build_wrapper return self._build(hp, *args, **kwargs) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\blocks\wrapper.py", line 159, in build output_node = self._build_block(hp, output_node, block_type) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\autokeras\blocks\wrapper.py", line 165, in _build_block max_tokens = self.max_tokens or hp.Choice( File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\hyperparameters\hyperparameters.py", line 300, in Choice return self._retrieve(hp) File "C:\Users\yvorlv\miniconda3\envs\tensorflow\lib\site-packages\keras_tuner\engine\hyperparameters\hyperparameters.py", line 208, in _retrieve return self.values[hp.name] KeyError: 'text_block_1/max_tokens'

Gvorlv avatar Nov 07 '23 09:11 Gvorlv

I am facing this issue too on auto-keras == 1.1.0. This seems to happen when the tuner is set to either of 'bayesian', 'hyperband' or 'random'.

deathsaber avatar Mar 26 '24 08:03 deathsaber

Contribution is welcome on this issue!

haifeng-jin avatar Mar 28 '24 17:03 haifeng-jin