#tensorflow #machine-learning #optimization #keras #hyperparameters
#тензорный поток #машинное обучение #оптимизация #keras #гиперпараметры
Вопрос:
Я построил нейронную сеть, которая успешно выполняется с использованием tensorflow и keras. Теперь я пытаюсь оптимизировать гиперпараметры с помощью sherpa. Это мой первый раз, когда я использую sherpa, и я работаю с документацией. Я отключил панель мониторинга, потому что это казалось единственным выходом. Теперь я застрял в «study.keras_callback». Я получаю «ModuleNotFoundError: нет модуля с именем «keras»». В среде, в которой я работаю, установлен tensorflow, keras. Вот мой код:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers, models
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
parameters = [sherpa.Discrete('num_units', [50, 200])]
alg = sherpa.algorithms.RandomSearch(max_num_trials=50)
study = sherpa.Study(parameters=parameters,
algorithm=alg, disable_dashboard=True,
lower_is_better=True)
for trial in study:
model = keras.Sequential([
keras.layers.Dense(16, activation=tf.nn.relu,
input_shape=(X_train.shape[1],),
name='hidden_layer_1',),
keras.layers.Dense(64, activation=tf.nn.relu,
input_shape=(X_train.shape[1],),
name='hidden_layer_2',),
keras.layers.Dense(64, activation=tf.nn.relu,
input_shape=(X_train.shape[1],),
name='hidden_layer_3',),
keras.layers.Dense(64, activation=tf.nn.relu,
input_shape=(X_train.shape[1],),
name='hidden_layer_4',),
keras.layers.Dense(64, activation=tf.nn.relu,
input_shape=(X_train.shape[1],),
name='hidden_layer_5',),
keras.layers.Dense(1, name='output_layer',)
])
model.compile(loss='mse', optimizer = 'adam', metrics=['mae'])
model.fit(X_train,y_train,epochs=200,verbose=0,
callbacks=[study.keras_callback(trial, objective_name='val_loss')])
study.finalize(trial)
Заранее благодарю за любую оказанную помощь.
Ответ №1:
вам необходимо установить keras отдельно. Do: pip install keras надеюсь, это поможет
Комментарии:
1. Итак, у меня написано:
import tensorflow as tf from tensorflow import keras
разве это не одно и то же? Или мне тоже нужно это сделать? Я также, вероятно, должен упомянуть, что я пишу этот скрипт в записной книжке Jupyter, и в среде, в которой я запускаю ядро, уже установлены tensorflow, keras, sklearn.2. импорт tensorflow и keras из tensorflow действует только в вашем открытом ноутбуке. в то время как ваш шерпа core.py (и его функция keras_callbacks, которая выдает вам эту ошибку) ищет модуль keras в ваших установленных модулях. Итак, что вам нужно, так это установить keras непосредственно с вашего терминала.