0

In the following code, when the "print(tuner.summary())" line is commented, the code will run without error, although nothing is printed to the screen. When this line is uncommented, I get the error message below.

Code:

import numpy as np
import tensorflow
from tensorflow import keras
import keras_tuner as kt

train = np.random.random((100, 4))
targ = np.random.random((100, 2))

class MyHyperModel(kt.HyperModel):
    def __init__(self, input_shape, output_shape, dr_rate):
        super(MyHyperModel, self).__init__()
        self.input_shape = input_shape
        self.output_shape = output_shape
        self.dr_rate = dr_rate

    def build(self, hp):
        model = keras.Sequential()
        model.add(keras.layers.Input(shape=self.input_shape[1:], name='Input'))
        model.add(keras.layers.Dense(hp.Choice('units', [8, 16, 32]),
                                     activation='relu'))
        model.add(keras.layers.LayerNormalization())
        model.add(keras.layers.Dropout(rate=self.dr_rate))
        model.add(keras.layers.Dense(self.output_shape[-1], 
                                     activation='relu'))
        model.compile(loss=keras.losses.MSE)
        return model

tuner = kt.RandomSearch(MyHyperModel(input_shape=np.shape(train), 
                                     output_shape=np.shape(targ),
                                     dr_rate=.1),
                        objective=kt.Objective('loss', 
                                               direction="min"),
                        max_trials=3)

tuner.search(train, targ, batch_size=20, epochs=10)

print(tuner.results_summary())

Output to terminal:

Results summary Results in ./untitled_project Showing 10 best trials Objective(name="loss", direction="min")

Trial 2 summary Hyperparameters: units: 32 Score: 0.19982585310935974

Trial 1 summary Hyperparameters: units: 16 Traceback (most recent call last): File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-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 "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/base_tuner.py", line 261, in _run_and_update_trial tuner_utils.convert_to_metrics_dict( File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/tuner_utils.py", line 225, in convert_to_metrics_dict [convert_to_metrics_dict(elem, objective) for elem in results] File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/tuner_utils.py", line 225, in [convert_to_metrics_dict(elem, objective) for elem in results] File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/tuner_utils.py", line 238, in convert_to_metrics_dict best_value, _ = _get_best_value_and_best_epoch_from_history( File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/tuner_utils.py", line 209, in _get_best_value_and_best_epoch_from_history objective_value = objective.get_value(metrics) File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/objective.py", line 57, in get_value return logs[self.name] KeyError: 'mse_loss'

Trial 0 summary Hyperparameters: units: 8 Traceback (most recent call last): File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-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 "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/base_tuner.py", line 261, in _run_and_update_trial tuner_utils.convert_to_metrics_dict( File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/tuner_utils.py", line 225, in convert_to_metrics_dict [convert_to_metrics_dict(elem, objective) for elem in results] File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/tuner_utils.py", line 225, in [convert_to_metrics_dict(elem, objective) for elem in results] File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/tuner_utils.py", line 238, in convert_to_metrics_dict best_value, _ = _get_best_value_and_best_epoch_from_history( File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/tuner_utils.py", line 209, in _get_best_value_and_best_epoch_from_history objective_value = objective.get_value(metrics) File "/Users/joshuamiller/miniforge3/envs/tf_macos2.9_kt_env/lib/python3.10/site-packages/keras_tuner/engine/objective.py", line 57, in get_value return logs[self.name] KeyError: 'mse_loss'

None

0 Answers0