Входной слой исчезает после настройки параметра с помощью RandomizedSearchCV в Керасе

#keras

Вопрос:

Построение модели для RandomizedSearchCV

 import tensorflow as tf from tensorflow import keras  defs build_iris(n_hidden=1, learning_rate=3e-3, input_shape=[4], output=3):  model = keras.models.Sequential()  model.add(keras.layers.InputLayer(input_shape=input_shape))  k = [[200,100],[80.50],[50,10]]  for layer in range(n_hidden):  r = k[layer]  idx = np.random.randint(0,len(r))  model.add(keras.layers.Dense(k[layer][idx], activation="relu"))    #try change activiation and optimizer  model.add(keras.layers.Dense(output, activation ="sigmoid"))  model.compile(loss = "sparse_categorical_crossentropy",   optimizer = keras.optimizers.SGD(learning_rate = learning_rate),  metrics = ["accuracy"])  return model     keras_cls = keras.wrappers.scikit_learn.KerasClassifier(build_iris)  

Выполните случайный поиск

 from sklearn.model_selection import RandomizedSearchCV import numpy as np  lr_list_np = np.linspace(0.01, 0.1, num=1000).tolist() np.random.shuffle(lr_list_np)  param_distribs = {  "n_hidden": [0, 1, 2, 3],  "learning_rate": lr_list_np }  rnd_search_cv = RandomizedSearchCV(keras_cls, param_distribs, n_iter=10, cv=3, verbose=2) rnd_search_cv.fit(X_train, y_train, epochs = 100,  validation_data = (X_valid, y_valid),  callbacks = [keras.callbacks.EarlyStopping(patience=10)],  verbose = 0  ) model = rnd_search_cv.best_estimator_.model model.summary()  

Я получил следующее:

 Model: "sequential_30" _________________________________________________________________ Layer (type) Output Shape Param #  ================================================================= dense_66 (Dense) (None, 100) 500  _________________________________________________________________ dense_67 (Dense) (None, 80) 8080  _________________________________________________________________ dense_68 (Dense) (None, 3) 243  ================================================================= Total params: 8,823 Trainable params: 8,823 Non-trainable params: 0 _________________________________________________________________  

Проблема 1. Очевидно, что входной слой не отображается в сводке, но я могу выполнить оценку и прогнозирование в обычном режиме
Как я могу это исправить

Проблема 2. даже я сохраняю его с помощью

 model.save("modelIris_tuning_example.h5")   

Входной слой все еще не выходит

Проблема 3. Как получить скорость обучения по модели экономии?