Files
PINA/pina/optim/torch_optimizer.py
Dario Coscia 42ab1a666b Formatting
* Adding black as dev dependency
* Formatting pina code
* Formatting tests
2025-03-19 17:46:36 +01:00

29 lines
688 B
Python

"""Module for PINA Torch Optimizer"""
import torch
from ..utils import check_consistency
from .optimizer_interface import Optimizer
class TorchOptimizer(Optimizer):
def __init__(self, optimizer_class, **kwargs):
check_consistency(optimizer_class, torch.optim.Optimizer, subclass=True)
self.optimizer_class = optimizer_class
self.kwargs = kwargs
self._optimizer_instance = None
def hook(self, parameters):
self._optimizer_instance = self.optimizer_class(
parameters, **self.kwargs
)
@property
def instance(self):
"""
Optimizer instance.
"""
return self._optimizer_instance