blinddeconv.processing.extensions.hyperparameter_optimization module

Модуль оптимизации гиперпараметров.

Реализует оптимизацию гиперпараметров алгоритмов слепой деконволюции с использованием байесовских методов оптимизации.

Поддерживаемые методы:
  • TPE (Tree-structured Parzen Estimator)

  • Случайный поиск

  • Гауссовские процессы

  • NSGA-II для многокритериальной оптимизации

Автор: Беззаборов А.А.

class blinddeconv.processing.extensions.hyperparameter_optimization.HyperparameterOptimizer(processing_instance: Any, output_folder: str = 'parameters')[исходный код]

Базовые классы: ProcessingExtension

Оптимизация гиперпараметров с использованием байесовской оптимизации.

Реализует эффективный поиск гиперпараметров для алгоритмов слепой деконволюции с использованием фреймворка Optuna.

Поддерживаемые стратегии оптимизации:
  • TPE (Tree-structured Parzen Estimator)

  • Случайный поиск

  • Гауссовские процессы (при наличии BoTorch)

  • NSGA-II для многокритериальной оптимизации

__init__(processing_instance: Any, output_folder: str = 'parameters')[исходный код]

Инициализация оптимизатора.

Параметры

processing_instanceAny

Ссылка на объект Processing с изображениями.

output_folderstr

Директория для сохранения результатов оптимизации.

execute(algorithm_processor: DeconvolutionAlgorithm, param_ranges: Dict[str, Tuple[int | float, int | float]], n_trials: int = 50, metric: str = 'PSNR', timeout: int | None = 3600, method: OptimizationMethod = OptimizationMethod.TPE, n_jobs: int = 1, seed: int = 42, show_progress: bool = True, save_results: bool = True) OptimizationResult[исходный код]

Оптимизация гиперпараметров для заданного алгоритма.

Параметры

algorithm_processorDeconvolutionAlgorithm

Алгоритм деконволюции для оптимизации.

param_rangesDict[str, Tuple]

Словарь соответствия имен параметров кортежам (min, max).

n_trialsint, по умолчанию 50

Количество испытаний оптимизации.

metricstr, по умолчанию „PSNR“

Метрика оптимизации: „PSNR“, „SSIM“ или „SHARPNESS“.

timeoutOptional[int], по умолчанию 3600

Максимальное время оптимизации в секундах (None без ограничения).

methodOptimizationMethod, по умолчанию TPE

Метод оптимизации.

n_jobsint, по умолчанию 1

Количество параллельных задач (-1 для всех ядер).

seedint, по умолчанию 42

Seed для воспроизводимости.

show_progressbool, по умолчанию True

Отображать индикатор прогресса.

save_resultsbool, по умолчанию True

Сохранять лучшие параметры в JSON-файл.

Возвращает

OptimizationResult

Контейнер с лучшими параметрами и историей оптимизации.