Source code for mighty.utils.stub
"""
Stubs
-----
.. autosummary::
:toctree: toctree/utils/
OptimizerStub
"""
from typing import Optional, Callable
import torch
import torch.nn as nn
from torch.optim.optimizer import Optimizer
__all__ = [
"OptimizerStub",
"CriterionStub"
]
[docs]
class OptimizerStub(Optimizer):
"""
An Optimizer stub for trainers that update model weights in a gradient-free
fashion.
"""
def __init__(self):
self.param_groups = []
[docs]
def step(self, closure: Optional[Callable[[], float]] = ...):
pass
[docs]
def state_dict(self) -> dict:
return {}
[docs]
def load_state_dict(self, state_dict: dict) -> None:
pass
class CriterionStub(nn.Module):
def forward(self, *args, **kwargs):
return torch.Tensor([0.0])