optuna.logging¶
-
optuna.logging.
get_verbosity
() → int[source]¶ Return the current level for the Optuna’s root logger.
- Returns
Logging level, e.g.,
optuna.logging.DEBUG
andoptuna.logging.INFO
.
Note
Optuna has following logging levels:
optuna.logging.CRITICAL
,optuna.logging.FATAL
optuna.logging.ERROR
optuna.logging.WARNING
,optuna.logging.WARN
optuna.logging.INFO
optuna.logging.DEBUG
-
optuna.logging.
set_verbosity
(verbosity: int) → None[source]¶ Set the level for the Optuna’s root logger.
- Parameters
verbosity – Logging level, e.g.,
optuna.logging.DEBUG
andoptuna.logging.INFO
.
-
optuna.logging.
disable_default_handler
() → None[source]¶ Disable the default handler of the Optuna’s root logger.
Example
Stop and then resume logging to
sys.stderr
.import optuna study = optuna.create_study() # There are no logs in sys.stderr. optuna.logging.disable_default_handler() study.optimize(objective, n_trials=10) # There are logs in sys.stderr. optuna.logging.enable_default_handler() study.optimize(objective, n_trials=10) # [I 2020-02-23 17:00:54,314] Trial 10 finished with value: ... # [I 2020-02-23 17:00:54,356] Trial 11 finished with value: ... # ...
-
optuna.logging.
enable_default_handler
() → None[source]¶ Enable the default handler of the Optuna’s root logger.
Please refer to the example shown in
disable_default_handler()
.
-
optuna.logging.
disable_propagation
() → None[source]¶ Disable propagation of the library log outputs.
Note that log propagation is disabled by default.
-
optuna.logging.
enable_propagation
() → None[source]¶ Enable propagation of the library log outputs.
Please disable the Optuna’s default handler to prevent double logging if the root logger has been configured.
Example
Propagate all log output to the root logger in order to save them to the file.
import optuna import logging logger = logging.getLogger() logger.setLevel(logging.INFO) # Setup the root logger. logger.addHandler(logging.FileHandler("foo.log", mode="w")) optuna.logging.enable_propagation() # Propagate logs to the root logger. optuna.logging.disable_default_handler() # Stop showing logs in sys.stderr. study = optuna.create_study() logger.info("Start optimization.") study.optimize(objective, n_trials=10) with open('foo.log') as f: assert f.readline() == "Start optimization.\n" assert f.readline().startswith("Trial 0 finished with value:")