#python #machine-learning #keras #hyperparameters
Вопрос:
Помогите мне разобраться в ошибке
ошибка входного измерения keras
def model_builder(hp):
model = keras.Sequential()
model.add(keras.layers.Conv1D(256, 5,padding='same',input_shape=(215,1), activation='relu'))
model.add(keras.layers.Conv1D(128, 5,padding='same',activation='relu'))
model.add(keras.layers.Dropout(0.1))
model.add(keras.layers.MaxPooling1D(pool_size=(32)))
model.add(keras.layers.Conv1D(128, 5,padding='same',activation='relu'))
model.add(keras.layers.Conv1D(128, 5,padding='same',activation='relu'))
model.add(keras.layers.Conv1D(128, 5,padding='same',activation='relu'))
model.add(keras.layers.Conv1D(128, 5,padding='same',activation='relu'))
model.add(keras.layers.Dropout(0.2))
model.add(keras.layers.Conv1D(128, 5,padding='same',activation='relu'))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(5,kernel_regularizer='l1',activation='softmax'))
opt = keras.optimizers.RMSprop(lr=0.00001, decay=1e-6)
model.compile(loss='categorical_crossentropy', optimizer=opt,metrics=['accuracy'])
return model
tuner = kt.Hyperband(model_builder,
objective='val_accuracy',
max_epochs=10,
factor=3,
directory='my_dir',
project_name='intro_to_kt')
stop_early = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=5)
tuner.search(X_train, y_train, epochs=50, validation_split=0.2, callbacks=[stop_early])
# Get the optimal hyperparameters
best_hps=tuner.get_best_hyperparameters(num_trials=215)[0]
print(f"""
The hyperparameter search is complete. The optimal number of units in the
first densely-connected
layer is {best_hps.get('units')}
optimal learning rate for the optimizer is {best_hps.get('learning_rate')}. """)
Фото ошибки здесь
Комментарии:
1. пожалуйста, добавьте форму входного размера
Ответ №1:
В вашем входном слое вы просто добавляете еще одно измерение
X_train[:,:,np.newaxis]