optuna.integration
integration
模块包含用于将Optuna与外部机器学习框架集成的类。
对于Optuna支持的大多数ML框架来说,相应的Optuna集成类的作用只是实现一个回调对象和函数,符合框架特定的回调API,在模型训练的每一个中间步骤中都会被调用。这些回调在不同ML框架中实现的功能包括:
使用
optuna.trial.Trial.should_prune()
向Optuna trial报告模型中间分数,根据
optuna.trial.Trial.should_prune()
的结果,通过抛出optuna.TrialPruned()
,对当前模型进行剪枝,并且将当前的 trial number 等中间Optuna数据汇报给框架,功能类似
MLflowCallback
。
针对scikit-learn,我们提供了一个集成的 OptunaSearchCV
估计器,它结合了scikit-learn BaseEstimator功能和对类级 Study
对象的访问。
AllenNLP
为了让 Jsonnet 配置文件在 Optuna 中可用的 AllenNLP 扩展。 |
|
保存 study 中最佳 trial 的参数更新到 JSON 配置文件。 |
|
用于清除无望 trial 的 AllenNLP 回调函数。 |
BoTorch
采用 BoTorch 的采样器。BoTorch 是一个建立在 PyTorch 上的贝叶斯优化库。 |
|
Quasi MC-based batch Expected Improvement (qEI). |
|
Quasi MC-based batch Expected Hypervolume Improvement (qEHVI). |
|
Quasi MC-based extended ParEGO (qParEGO) for constrained multi-objective optimization. |
Catalyst
用于清除无望 trial 的 Catalyst 回调。 |
Chainer
用于清除无望 trial 的 Chainer 扩展。 |
|
一个将 Optuna 并入 ChainerMN 的 |
fast.ai
用于清除 FastAI 中无望 trial 的回调函数。 |
|
用于清除 FastAI 中无望 trial 的回调函数。 |
|
:py:class:`optuna.integration.fastaiv2.FastAIV2PruningCallback`的别名 |
Keras
用于清除无望 trial 的 Keras 回调函数。 |
LightGBM
用于清除无望 trial 的 LightGBM 回调函数。 |
|
用于超参数调参的 LightGBM training API 的 wrapper. |
|
用于 LightGBM 的超参数调参器。 |
|
带有交叉验证的、用于 LightGBM 的超参数调参器。 |
MLflow
用 MLflow 来追踪 Optuna trial 的回调函数。 |
MXNet
用于清除无望 trial 的 MXNet 回调函数。 |
pycma
使用 cma 库作为后端的采样器。 |
|
用于向后兼容的 PyCmaSampler wrapper 类。 |
PyTorch
用于清除无望 trial 的 PyTorch Ignite handler。 |
|
用于清除无望 trial 的 PyTorch Lighting 回调函数。 |
|
A wrapper of |
scikit-learn
带有交叉验证的超参数搜索。 |
scikit-optimize
以 Scikit-Optimize 为后端的 sampler。 |
skorch
用于清除无望 trial 的 Skorch 回调函数。 |
TensorFlow
使用 TensorBoard 追踪 Optuna trial 的回调函数。 |
|
用于清除无望 trial 的 TensorFlow SessionRunHook 钩子函数。 |
|
用于清除无望 trial 的 tf.keras 回调函数。 |
XGBoost
用于清除无望 trial 的 XGBoost 回调函数。 |