/
Handdas
/
FirstOrderAlgorythms
Обзор
Документация
Войти
/
Handdas
/
FirstOrderAlgorythms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
examples/run_optimization.py
41 строка
1 KB
Your Name
initial commit
09 июн 2026, 10:13
09 июн 2026, 10:13
f88c506
Код
Авторство
О чём код?
"""Example: run first-order optimizers with WIND-like objective.""" from __future__ import annotations import logging import numpy as np from blackbox_optimizer import AdamWOptimizer, OptimizationPipeline, SGDOptimizer, StepLR def sphere_loss_grad(params: np.ndarray) -> tuple[float, np.ndarray]: loss = float(np.sum(params**2)) grad = 2.0 * params return loss, grad def main() -> None: logging.basicConfig(level=logging.INFO) pipeline = OptimizationPipeline() initial = np.array([2.5, -1.5, 0.5, 1.0]) optimizers = [ ("SGD", SGDOptimizer(learning_rate=0.05)), ("AdamW", AdamWOptimizer(learning_rate=0.05, weight_decay=0.01)), ] scheduler = StepLR(base_lr=0.05, step_size=20, gamma=0.5) for name, optimizer in optimizers: result = pipeline.run( optimizer=optimizer, loss_and_grad=sphere_loss_grad, initial_params=initial, iterations=80, scheduler=scheduler, log_every=20, ) print(f"{name}: final_loss={result.loss:.6f}, steps={result.trace.iterations}") if __name__ == "__main__": main()