我试着用optuna来调整超参数。但我的目标函数是有条件的,这就产生了获取最优参数的问题。你知道吗
我想得到化学武器公约只有在条件满足,否则继续试验下一个超参数。 但我想既然条件不满足,客观函数就等于cwc,它就有误差
UnboundLocalError:赋值前引用了局部变量“cwc\u train”
define objective (trial):
k_dis = trial.suggest_uniform('k_dis', 0.0, 5.0)
l_dis = trial.suggest_uniform('l_dis', 0.0, 5.0)
k_bound = trial.suggest_uniform('k_bound', 0.0, 5.0)
l_bound = trial.suggest_uniform('l_bound', 0.0, 5.0)
picp = .....
pinrw = .....
if picp_train >= 0.8 and pinrw_train < 0.18:
cwc_train = fc.CWC_proposed(predict_bound_train, Y_train)
else:
print("error = ")
return cwc_train
study = optuna.create_study()
study.optimize(objective, n_trials=100)
UnboundLocalError:赋值前引用了局部变量“cwc\u train”
在这种情况下,请提高
optuna.structs.TrialPruned
而不是返回cwc\U列车。{cd2}注意,抽样的概率越低,抽样的概率越小。你知道吗相关问题 更多 >
编程相关推荐