optuna.integration

integration 模块包含用于将Optuna与外部机器学习框架集成的类。

对于Optuna支持的大多数ML框架来说,相应的Optuna集成类的作用只是实现一个回调对象和函数,符合框架特定的回调API,在模型训练的每一个中间步骤中都会被调用。这些回调在不同ML框架中实现的功能包括:

  1. 使用 optuna.trial.Trial.should_prune() 向Optuna trial报告模型中间分数,

  2. 根据 optuna.trial.Trial.should_prune() 的结果,通过抛出 optuna.TrialPruned(),对当前模型进行剪枝,并且

  3. 将当前的 trial number 等中间Optuna数据汇报给框架,功能类似 MLflowCallback

针对scikit-learn,我们提供了一个集成的 OptunaSearchCV 估计器,它结合了scikit-learn BaseEstimator功能和对类级 Study 对象的访问。

AllenNLP

optuna.integration.AllenNLPExecutor

为了让 Jsonnet 配置文件在 Optuna 中可用的 AllenNLP 扩展。

optuna.integration.allennlp.dump_best_config

保存 study 中最佳 trial 的参数更新到 JSON 配置文件。

optuna.integration.AllenNLPPruningCallback

用于清除无望 trial 的 AllenNLP 回调函数。

BoTorch

optuna.integration.BoTorchSampler

采用 BoTorch 的采样器。BoTorch 是一个建立在 PyTorch 上的贝叶斯优化库。

optuna.integration.botorch.qei_candidates_func

Quasi MC-based batch Expected Improvement (qEI).

optuna.integration.botorch.qehvi_candidates_func

Quasi MC-based batch Expected Hypervolume Improvement (qEHVI).

optuna.integration.botorch.qparego_candidates_func

Quasi MC-based extended ParEGO (qParEGO) for constrained multi-objective optimization.

Catalyst

optuna.integration.CatalystPruningCallback

用于清除无望 trial 的 Catalyst 回调。

Chainer

optuna.integration.ChainerPruningExtension

用于清除无望 trial 的 Chainer 扩展。

optuna.integration.ChainerMNStudy

一个将 Optuna 并入 ChainerMN 的 Study wrapper.

fast.ai

optuna.integration.FastAIV1PruningCallback

用于清除 FastAI 中无望 trial 的回调函数。

optuna.integration.FastAIV2PruningCallback

用于清除 FastAI 中无望 trial 的回调函数。

optuna.integration.FastAIPruningCallback

alias of optuna.integration.fastaiv2.FastAIV2PruningCallback

Keras

optuna.integration.KerasPruningCallback

用于清除无望 trial 的 Keras 回调函数。

LightGBM

optuna.integration.LightGBMPruningCallback

用于清除无望 trial 的 LightGBM 回调函数。

optuna.integration.lightgbm.train

用于超参数调参的 LightGBM training API 的 wrapper.

optuna.integration.lightgbm.LightGBMTuner

用于 LightGBM 的超参数调参器。

optuna.integration.lightgbm.LightGBMTunerCV

带有交叉验证的、用于 LightGBM 的超参数调参器。

MLflow

optuna.integration.MLflowCallback

用 MLflow 来追踪 Optuna trial 的回调函数。

MXNet

optuna.integration.MXNetPruningCallback

用于清除无望 trial 的 MXNet 回调函数。

pycma

optuna.integration.PyCmaSampler

使用 cma 库作为后端的采样器。

optuna.integration.CmaEsSampler

用于向后兼容的 PyCmaSampler wrapper 类。

PyTorch

optuna.integration.PyTorchIgnitePruningHandler

用于清除无望 trial 的 PyTorch Ignite handler。

optuna.integration.PyTorchLightningPruningCallback

用于清除无望 trial 的 PyTorch Lighting 回调函数。

optuna.integration.TorchDistributedTrial

A wrapper of Trial to incorporate Optuna with PyTorch distributed.

scikit-learn

optuna.integration.OptunaSearchCV

带有交叉验证的超参数搜索。

scikit-optimize

optuna.integration.SkoptSampler

以 Scikit-Optimize 为后端的 sampler。

skorch

optuna.integration.SkorchPruningCallback

用于清除无望 trial 的 Skorch 回调函数。

TensorFlow

optuna.integration.TensorBoardCallback

使用 TensorBoard 追踪 Optuna trial 的回调函数。

optuna.integration.TensorFlowPruningHook

用于清除无望 trial 的 TensorFlow SessionRunHook 钩子函数。

optuna.integration.TFKerasPruningCallback

用于清除无望 trial 的 tf.keras 回调函数。

XGBoost

optuna.integration.XGBoostPruningCallback

用于清除无望 trial 的 XGBoost 回调函数。