blinddeconv.processing.extensions.base module
Базовые классы и типы для пакета расширений.
- Содержит:
Абстрактный базовый класс ProcessingExtension
Классы данных для параметров и результатов
Перечисления для методов оптимизации и метрик
Автор: Беззаборов А.А.
- class blinddeconv.processing.extensions.base.MetricType(value)[исходный код]
Базовые классы:
EnumМетрики качества для оценки восстановления изображений.
Для всех метрик большее значение соответствует лучшему качеству.
PSNR - пиковое отношение сигнал-шум (дБ) SSIM - индекс структурного сходства SHARPNESS - мера резкости на основе лапласиана
- PSNR = 'psnr'
- SHARPNESS = 'sharpness'
- SSIM = 'ssim'
- classmethod from_string(value: str) MetricType[исходный код]
Создание из строкового представления.
- class blinddeconv.processing.extensions.base.OptimizationMethod(value)[исходный код]
Базовые классы:
EnumПоддерживаемые методы оптимизации.
- TPEstr
Tree-structured Parzen Estimator (байесовская оптимизация). Рекомендуется для общей настройки гиперпараметров.
- RANDOMstr
Случайный поиск. Эффективен для многомерных пространств и параллельных вычислений.
- GPstr
Гауссовские процессы (требует BoTorch). Оптимален для дорогостоящих вычислений в малоразмерных пространствах.
- NSGA2str
Non-dominated Sorting Genetic Algorithm II. Предназначен для многокритериальной оптимизации.
- GP = 'gp'
- NSGA2 = 'nsga2'
- RANDOM = 'random'
- TPE = 'tpe'
- classmethod from_string(value: str) OptimizationMethod[исходный код]
Создание из строкового представления.
- class blinddeconv.processing.extensions.base.OptimizationResult(best_params: ~typing.Dict[str, ~typing.Any], best_value: float, n_trials: int, study: ~typing.Any | None = None, history: ~typing.List[~typing.Dict[str, ~typing.Any]] = <factory>, elapsed_time: float = 0.0)[исходный код]
Базовые классы:
objectКонтейнер для результатов оптимизации.
Атрибуты
- best_paramsDict[str, Any]
Лучшие найденные гиперпараметры.
- best_valuefloat
Лучшее достигнутое значение целевой функции.
- n_trialsint
Количество выполненных испытаний.
- studyOptional[Any]
Объект исследования Optuna для дальнейшего анализа.
- historyList[Dict[str, Any]]
История испытаний с параметрами и оценками.
- elapsed_timefloat
Затраченное время в секундах.
- to_dict() Dict[str, Any][исходный код]
Преобразование результатов в словарь.
- class blinddeconv.processing.extensions.base.ParameterRange(name: str, min_value: int | float, max_value: int | float, log_scale: bool = False, step: float | None = None)[исходный код]
Базовые классы:
objectДиапазон поиска гиперпараметра.
Атрибуты
- namestr
Имя параметра.
- min_valueUnion[int, float]
Минимальное значение диапазона.
- max_valueUnion[int, float]
Максимальное значение диапазона.
- log_scalebool
Использовать логарифмическую шкалу для параметров, охватывающих несколько порядков величины.
- stepOptional[float]
Размер дискретного шага (None для непрерывных параметров).
- validate() bool[исходный код]
Проверка корректности диапазона.
- class blinddeconv.processing.extensions.base.ParetoPoint(objectives: ~typing.Dict[str, float], parameters: ~typing.Dict[str, ~typing.Any], metadata: ~typing.Dict[str, ~typing.Any] = <factory>, is_pareto_optimal: bool = False)[исходный код]
Базовые классы:
objectТочка в многокритериальном пространстве.
Атрибуты
- objectivesDict[str, float]
Значения целевых функций (например, {„psnr“: 25.0, „time“: 1.5}).
- parametersDict[str, Any]
Связанные гиперпараметры.
- metadataDict[str, Any]
Дополнительная информация (имя алгоритма, изображение и т.д.).
- is_pareto_optimalbool
Принадлежит ли точка фронту Парето.
- dominates(other: ParetoPoint, maximize: List[str] | None = None) bool[исходный код]
Проверка доминирования текущей точки над другой.
Параметры
- otherParetoPoint
Другая точка для сравнения.
- maximizeList[str]
Список критериев для максимизации.
Возвращает
- bool
True если текущая точка доминирует над other.
- class blinddeconv.processing.extensions.base.ProcessingExtension(processing_instance: Any, output_folder: str = 'output')[исходный код]
Базовые классы:
ABCАбстрактный базовый класс для расширений обработки.
Предоставляет общий функционал для расширений, дополняющих основной конвейер обработки изображений.
Атрибуты
- processingAny
Ссылка на основной экземпляр обработки.
- output_folderPath
Директория для сохранения результатов.
- loggerlogging.Logger
Логгер для данного расширения.
- __init__(processing_instance: Any, output_folder: str = 'output')[исходный код]
Инициализация расширения.
Параметры
- processing_instanceAny
Ссылка на объект Processing.
- output_folderstr
Директория для сохранения результатов.
- abstract execute(*args, **kwargs) Any[исходный код]
Выполнение основного функционала расширения.
Должен быть реализован в подклассах.