Python Keras Bayesian优化越界
我正在用keras贝叶斯优化器调整我的U-net神经网络的退出。我已经定义了我的模型,调谐器最初运行良好,但在某个点上,它将走向一个非常小的负数,超出定义的界限并崩溃。有没有关于如何避免这种情况的建议 模型定义:Python Keras Bayesian优化越界,python,tensorflow,keras,Python,Tensorflow,Keras,我正在用keras贝叶斯优化器调整我的U-net神经网络的退出。我已经定义了我的模型,调谐器最初运行良好,但在某个点上,它将走向一个非常小的负数,超出定义的界限并崩溃。有没有关于如何避免这种情况的建议 模型定义: def build_model(hp): dropout_1 = hp.Float('dropout_1',min_value=0, max_value=0.5,sampling='linear',default=0) dropout_2 = hp.Float('dropout
def build_model(hp):
dropout_1 = hp.Float('dropout_1',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_2 = hp.Float('dropout_2',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_3 = hp.Float('dropout_3',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_4 = hp.Float('dropout_4',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_5 = hp.Float('dropout_5',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_6 = hp.Float('dropout_6',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_7 = hp.Float('dropout_7',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_8 = hp.Float('dropout_8',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_9 = hp.Float('dropout_9',min_value=0, max_value=0.5,sampling='linear',default=0)
inputs ...
layers ...
tuner = BayesianOptimization(build_model, objective='val_loss',max_trials=30, num_initial_points=10,overwrite=True)
stop_early = EarlyStopping(monitor='val_loss',patience=5)
tuner.search(train_in, train_out, epochs=3, validation_split=0.2, callbacks=[stop_early])
best_hps_BO = tuner.get_best_hyperparameters(num_trials=1)[0]
调谐器定义:
def build_model(hp):
dropout_1 = hp.Float('dropout_1',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_2 = hp.Float('dropout_2',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_3 = hp.Float('dropout_3',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_4 = hp.Float('dropout_4',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_5 = hp.Float('dropout_5',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_6 = hp.Float('dropout_6',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_7 = hp.Float('dropout_7',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_8 = hp.Float('dropout_8',min_value=0, max_value=0.5,sampling='linear',default=0)
dropout_9 = hp.Float('dropout_9',min_value=0, max_value=0.5,sampling='linear',default=0)
inputs ...
layers ...
tuner = BayesianOptimization(build_model, objective='val_loss',max_trials=30, num_initial_points=10,overwrite=True)
stop_early = EarlyStopping(monitor='val_loss',patience=5)
tuner.search(train_in, train_out, epochs=3, validation_split=0.2, callbacks=[stop_early])
best_hps_BO = tuner.get_best_hyperparameters(num_trials=1)[0]
碰撞前的最后一次试验结果: